历史上的今天
今天是:2024年12月10日(星期二)
2018年12月10日 | 解决STM32开启定时器时立即进入一次中断程序问题
2018-12-10 来源:eefocus
配置STM32定时器时,定时器中断使能、定时器使能、清除更新中断标志位,三者不同顺序程序执行时有不同效果,具体如下:
TIM_ClearITPendingBit(TIM1, TIM_IT_Update); //清除更新中断请求位
TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE); //使能定时器1更新中断
TIM_Cmd(TIM1, ENABLE); //启动定时器
(1)。。。。。。不会立即进入更新中断程序。
TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位
TIM_Cmd(TIM1, ENABLE);
TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断
(2)。。。。。。不会立即进入更新中断程序。
TIM_Cmd(TIM1, ENABLE);
TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位
TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断
(3)。。。。。。不会立即进入更新中断程序。
TIM_Cmd(TIM1, ENABLE);
TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断
TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位
(4)。。。。。。立即进入更新中断程序。
TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断
TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位
TIM_Cmd(TIM1, ENABLE);
(5)。。。。。。立即进入更新中断程序。
TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断
TIM_Cmd(TIM1, ENABLE);
TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位
(6)。。。。。。立即进入更新中断程序。
参考:http://www.51hei.com/bbs/dpj-40940-1.html
http://www.openedv.com/posts/list/41019.htm
史海拾趣
|
说明:本节重点介绍真正双向端口操作的方法,及与伪双向端口操作的不同。跑马灯例子。建议先看跑马灯,再绕回来看前面的介绍。 AVR端口是真正的双向端口,不像51伪双向。这也是AVR的一项优势,只是操作时大家注意DDRn就可以了。真正双向端口在模拟 ...… 查看全部问答> |
|
嘿 各位: 现在我想在WINCE6.0下面做一个电话与IE共存的软件,想要做到当如果在下载数据或是浏览网页的时候有电话打进来需要挂住数据通道,电话接完后可以很快的浏览网页或是下载数据,以前我采用的方式是RAS函数库+AT指令方式,当想 ...… 查看全部问答> |
|
串口服务器模块 以太网转RS232 TCPIP转串口 RJ45转TTL模块,让你的串口设备轻松联网,可提供linux上位机程序和方案,可以提供中间件。 说明书:www.usr.cn/Uploads/Download/201104/USR-TCP232-T.pdf 1、产品介绍1.1 产品简介 & ...… 查看全部问答> |




