你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F207的TIM12使能计时后SR的中断标志位就自动置位且无法清零

[复制链接]
yywdc 提问时间:2014-4-24 00:25 /
最近在用STM32F207VGT6做一个测转速的功能,其他定时器都被占用了,只能用TIM12,但是发现的TIM12使能计时后SR的中断标志位就自动置位且无法清零。然后NVIC使能后就一直在中断,跳出中断后也还是会进入中断,中断服务中的SR寄存器清零语句也没用,完全无法正常工作。
麻烦各位大神帮忙看下是什么原因,谢谢了!
主程序如下
#include "main.h"
#include "lcd.h"

uint16_t VeloCount1 = 0;
uint16_t VeloCount2 = 0;
uint16_t MotorRotationSpeed = 0;
uint8_t ICcount = 0;

static void delay(unsigned int dl)
{
    unsigned int i,y;
    for(i = 0; i < 5000; i++)
    {
        for(y = 0; y < dl; y++);
    }
}

int main(void)
{

    unsigned char string[] = "speed=";
    unsigned char string1[4] = "0000";

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM12,ENABLE);
   
     GPIO_LED_init();

    GPIO_TIM12CH1IC_VelocityMeasure_init();

    TIM12_InputCapture_Init();
   
    lcd_init();

    TIM_Cmd(TIM12, ENABLE);
    TIM_ITConfig(TIM12, TIM_IT_CC1, ENABLE);
    TIM12->SR &= ~(1 SR = 0;
       
    GPIOE->BSRRH |= (1  VeloCount1)
            {
                velo = TIM12_period + VeloCount2 - VeloCount1;
            }

            MotorRotationSpeed = TIM12_period / velo;
            ICcount = 0;
        }
    }
    TIM_ClearITPendingBit(TIM12, TIM_IT_CC1);
}
收藏 评论2 发布时间:2014-4-24 00:25

举报

2个回答
yywdc 回答时间:2014-4-24 21:59:49

RE:STM32F207的TIM12使能计时后SR的中断标志位就自动置位且无法清零

人工置顶~~~~
yywdc 回答时间:2014-4-24 23:57:25

RE:STM32F207的TIM12使能计时后SR的中断标志位就自动置位且无法清零

问题已经解决,CCMR1的CC1S设置不正确导致
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版