码迷,mamicode.com
首页 > 其他好文 > 详细

STM32开发板的TIM3开启和关闭

时间:2016-10-10 23:37:41      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

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

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,组  

 

STM32开发板的TIM3开启和关闭

标签:

原文地址:http://www.cnblogs.com/qidaiymm/p/5947375.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!