微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32学习笔记——使用SysTick定时器做延时

STM32学习笔记——使用SysTick定时器做延时

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

  1. GPIO_SetBits(GPIOC,GPIO_Pin_7|GPIO_Pin_9);
  2. Delay(1000);
  3. GPIO_Write(GPIOC,0x0140);
  4. Delay(1000);
  5. GPIO_Write(GPIOC,0x0280);
  6. Delay(1000);
  7. }
  8. }
  9. voidGPIO_Configuration(void)
  10. {
  11. GPIO_InitTypeDefGPIO_InitStructure;
  12. GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;
  13. GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  14. GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
  15. GPIO_Init(GPIOC,&GPIO_InitStructure);
  16. }
  17. volatileu32TimingDelay;//定义全局变量,其声明在stm32f10x_it.c中
  18. voidDelay(u32nTime)//定义延迟函数
  19. {
  20. TimingDelay=nTime;//将延迟数赋予全局变量
  21. while(TimingDelay!=0);
  22. }


其中,在stm32f10x_it.c中:

[cpp]view plaincopy

  1. externvolatileu32TimingDelay;//声明全局变量
  2. voidSysTick_Handler(void)
  3. {
  4. TimingDelay--;
  5. }


3.2结果

编译烧入开发板后,LED等以1s的时间精确交替闪烁。

参考文献:

[1]JosephYiu,宋岩译.《Cortex-M3权威指南》[EB/OL].http://ishare.iask.sina.com.cn/f/11378333.html?retcode=0,2010-11-05/2012-09-09.

[2]ST.《STM32固件库2.0.3与3.0版本的比较中文版》[EB/OL].http://ishare.iask.sina.com.cn/f/18297257.html?from=like,2011-08-22/2012-09-09.

[3]Xxbing8.STM32_SysTick[EB/OL].http://hi.baidu.com/xxbing8/item/c99ea4f53f996ad042c36ab82012-06-14/2012-09-09.


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

网站地图

Top