当前位置:首页 > 单片机 > 单片机
[导读]关闭定时器中断要考虑好多情况1)关闭定时器时,定时器是否在处在工作状态2)关闭定时器时,定时器是否正好进入中断,造成关闭程序出现断层,进而无法实现完整关闭程序,此时可以使用高一级别的外部中断强制进入外部

关闭定时器中断要考虑好多情况

1)关闭定时器时,定时器是否在处在工作状态

2)关闭定时器时,定时器是否正好进入中断,造成关闭程序出现断层,进而无法实现完整关闭程序,此时可以使用高一级别的外部中断强制进入外部中断服务函数进行关闭程序

3)关闭定时器时,关闭定时器的程序是否在定时器服务函数里面?还是在总函数里面?还是在外部中断服务函数里面?是需要考量的?

4)关闭定时器时,定时器的中断触发时间是否太紧凑?定时器的中断总次数是否太小?都会影响关闭定时器程序运行的连续性。

以下为关闭程序:

首先打开时钟,然后才能进行关闭操作。

RCC->APB1ENR|=1<<1; //TIM3时钟使能
TIM3->ARR=arr; //设定计数器自动重装值//刚好1ms
TIM3->PSC=psc; //预分频器7200,得到10Khz的计数时钟
TIM3->DIER|=1<<0;//允许更新中断
关闭定时器:TIM3->CR1&=~(0x01);
开启定时器:TIM3->CR1|=0x01;
MY_NVIC_Init(1,0,TIM3_IRQChannel,2);//抢占1,子优先级0,组  


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭