微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32学习笔记——利用通用定时器TIM2进行精确延时

STM32学习笔记——利用通用定时器TIM2进行精确延时

时间:11-28 来源:互联网 点击:

      1. ure.NVIC_IRQChannelPreemptionPriority=0;
      2. NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
      3. NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
      4. NVIC_Init(&NVIC_InitStructure);//NVIC_Init函数被包含在misc.c文件中。
      5. }
      6. volatileu32gTimer;
      7. voidTIM2_IRQHandler(void)
      8. {
      9. if(TIM_GetITStatus(TIM2,TIM_IT_Update)!=RESET)//检查溢出信号
      10. {
      11. TIM_ClearITPendingBit(TIM2,TIM_IT_Update);//清除溢出标志
      12. gTimer--;
      13. }
      14. }
      15. voiddelay1ms(u32nTimer)
      16. {
      17. gTimer=nTimer;
      18. while(gTimer);
      19. }

      完成编译并烧录后,开发板上四个LED灯先相邻两两亮灭,亮灭时间延迟1秒,然后交替两两亮灭,亮灭时间延迟2秒。

      参考文献

      [1]Sharkdo.STM32用定时器精确延时的方法[EB/OL].http://www.cnblogs.com/sharkdo/archive/2011/03/23/1993036.html,2011-03-23/2012-10-14

      [2]Cdzlllfe.stm32 通用定时器精确延时程序[EB/OL].

      http://blog.sina.com.cn/s/blog_88534dff01010t1a.html,2011-12-17/2012-10-14

      [3]福州芯达工作室.《STM32入门系列教程——定时器与蜂鸣器》[EB/OL].http://ishare.iask.sina.com.cn/f/10918196.html,2010-10-20/2012-10-14.

      [4]正点电子.《Stm32不完全手册》[EB/OL].http://www.amobbs.com/forum.php?mod=viewthread&tid=4517523,2011-01-17/2012-10-15

      [5]半壶水,《STM32菜鸟学习手册-罗嗦版》,http://wenku.baidu.com/view/fc7c7d20ccbff121dd3683da.html,2012-08-19.

      [6]ST.《如何从STM32F10xxx固件库V2.0.3升级为STM32F10xxx标准外设库V3.0.0》[EB/OL].http://ishare.iask.sina.com.cn/f/18297257.html?from=like,2011-08-22/2012-09-09.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top