解决STM32开启定时器时立即进入一次中断程序问题

发布者:云淡风轻2014最新更新时间:2018-12-10 来源: eefocus关键字:STM32  定时器  中断程序 手机看文章 扫描二维码
随时随地手机看文章

配置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


关键字:STM32  定时器  中断程序 引用地址:解决STM32开启定时器时立即进入一次中断程序问题

上一篇:【STM32】通用定时器的基本原理(实例:定时器中断)
下一篇:stm32 定时器响应时间计算

推荐阅读最新更新时间:2024-03-16 16:19

AVR定时器1的CTC模式设置
在CTC模式编程的时候,要执行的步骤如下: 1. 将PD4~PD5 设置为输出(默认为低电平)。DDRD|=BIT(4)|BIT(5); 2. 决定比较输出模式,试验中为模式电平取反。TCCR1A=0x50; 3. 决定方波产生模式位,试验中是模式4, 亦即WGM12=1。TCCR1B|=BIT(3); 4. 决定分频N,这里就假设去1 吧,无预分频。TCCR1B|=BIT(0); 5. 在步骤3 中,方波产生模式位为4,换句话说就是OCR1A 决定匹配的最大值。 CTC模式实际上就是比较输出模式,输出占空比相同的脉冲 频率=时钟晶振/2N(1+OCRnA) 如:四个指令就可以配置好CTC模式(8M,输出2KHz)
[单片机]
STM32 RS485 modbus通讯源程序,亲测有效
Modbus 一个工业上常用的通讯协议、一种通讯约定。Modbus协议包括RTU、ASCII、TCP。其中MODBUS-RTU最常用,比较简单,在单片机上很容易实现。modbus协议简单解析如下: 1、主机对从机写数据操作 如果单片机接收到一个报文那么就对报文进行解析执行相应的处理,如上面报文: 01 06 00 01 00 17 98 04 从机地址 功能号 数据地址 数据 CRC校验 假如本机地址是 1 ,那么单片机接收到这串数据根据数据计算CRC校验判断数据是否正确,如果判断数据无误,则结果是: HoldDataReg = 0x0017
[单片机]
<font color='red'>STM32</font> RS485 modbus通讯源<font color='red'>程序</font>,亲测有效
ST和Arduino联手扩宽创客社区使用STM32微控制器和传感器的途径
2016年6月30日,致力于为创客提供更多创造空间,横跨多重电子应用领域、全球领先的半导体供应商意法半导体 (STMicroelectronics,简称ST)和教育、创客和物联网市场最大的开源生态系统Arduino公司,宣布了一项合作协议,让业界领先的STM32系列微控制器(MCU)以及意法半导体的传感器、功率器件和通信连接技术走近Arduino创客社区。STAR (ST和Arduino的前两个字母组合)开发项目的首款产品基于STM32F469的STAR Otto基板于近日向公众展出。现在,物联网开发人员和创客可以在他们的智能硬件内创建高性能图形功能,使用容易上手的软硬件开发好用的触屏和声控以及媒体流功能,改进他们的应用设计。
[物联网]
ST和Arduino联手扩宽创客社区使用<font color='red'>STM32</font>微控制器和传感器的途径
基于Linux的kfifo移植到STM32
关于kfifo kfifo是内核里面的一个First In First Out数据结构,它采用环形循环队列的数据结构来实现;它提供一个无边界的字节流服务,最重要的一点是,它使用并行无锁编程技术,即当它用于只有一个入队线程和一个出队线程的场情时,两个线程可以并发操作,而不需要任何加锁行为,就可以保证kfifo的线程安全。 具体什么是环形缓冲区,请看我以前的文章 说明 关于kfifo的相关概念我不会介绍,有兴趣可以看他的相关文档,我只将其实现过程移植重写,移植到适用stm32开发板上,并且按照我个人习惯重新命名, RingBuff - 意为环形缓冲区 往期关于环形缓冲区的文章: 杰杰带你解读【机
[单片机]
STM32芯片定时器输入捕获模式
stm32 定时器有输入捕获模式,PWM输入模式,强输出模式,输出比较模式这几种。 #include HC04.h //这个文件保存了用户自己编写的应用程序 #include SysTick.h extern uint32_t L; //主函数中,定义了L这个全局变量,想要在此文件中用到,应该进行声明 void HC04_Config1(void) //此函数完成HC04避障模块接收端的初始化,需要对定时器TIM2进行配置 { GPIO_InitTypeDef GPIO_InitStructure1; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructu
[单片机]
RS485通信基础理论与STM32测试
1.优劣 优势:RS485的可靠传输距离远,接线简单成为了相对于RS232的最大优势。 不足:RS485总线是一种常规的通信总线,它不能够做总线的自动仲裁,也就是不能够同时发送数据以避免总线竞争,所以整个系统的通信效率必然较低,数据冗余量较大,对于速度要求高的应用场所不适应用RS485总线。同时由于RS485总线上通常只有一台主机,所以这种总线方式是典型的集中—分散型控制系统。一旦主机出现故障,会使整个系统的通信限于瘫痪状态,因此做好主机的在线备份是一个重要措施。 2. 硬件层协议 通讯协议主要是实现两个设备之间的数据交换功能,通讯协议分硬件层协议和软件层协议。硬件层协议决定数据如何传输问题,比如要在设备1向设备2发送0x
[单片机]
RS485通信基础理论与<font color='red'>STM32</font>测试
STC89C52单片机定时器0的中断实验
////////////////////////////////////////////////////////////////////////// 实现功能: 配置定时器0的相关寄存器,使其实现定时器中断功能,然后通过发光 二极管的闪烁展现出中断的进行 实验板型号:BS-XYD-C52 实验名称: 定时器0的中断实验 编写人: 谢应东 编写日期: 2012-4-26 ////////////////////////////////////////////////////////////////////////// #include reg52.h #define uc
[单片机]
什么是中断 stm32中断服务函数
中断概念: 中断是指在计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的时间处理程序。待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。 中断作用: 计算机与外设之间的联系一般通过两种方法:一是通过CPU控制来进行数据的传送;二是在专门的芯片控制下进行数据的传送。我们所说的DMA,就是不用CPU控制,外设同内存之间相互传送数据的通道,在这种方式下,外设利用DMA通道直接将数据写入存储器或将数据从存储器中读出,而不用CPU参与,系统的速度会大大增加。 你打开stm32的启动文件,例如startup_stm32f10x_hd.s 里面有很多中断跳转的
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved