首页 > 代码库 > STM32开发板的TIM3开启和关闭
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,组
STM32开发板的TIM3开启和关闭
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。