STM32开发板的TIM3开启和关闭

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

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

 

转载于:https://www.cnblogs.com/qidaiymm/p/5947375.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值