你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F411【Nucleo】第三课--sysTick定时器(基于keil5.13)

[复制链接]
颩色四葉愺 发布时间:2015-2-1 15:51
(1)建立工程,新建工程的步骤就不说了!请参考我之前的帖子:
STM32F411【Nucleo】第一课--新建工程(基于keil 5.13)
(2)新建文件 bsp_SysTick.c    bsp_Tick.h  记得建好文件要添加到工程中,头文件路径也要加上!
  1. #include "bsp_SysTick.h"

  2. static __IO u32 TimingDelay;
  3. void Delay_ms(__IO u32 nTime)
  4. {
  5.         TimingDelay = nTime;       

  6.         // 使能滴答定时器  
  7.         SysTick->CTRL |=  SysTick_CTRL_ENABLE_Msk;

  8.         while(TimingDelay != 0);
  9. }

  10. void SysTick_Init(void)
  11. {
  12. /*
  13. * t : 定时时间
  14. * Ticks : 多少个时钟周期产生一次中断
  15. * f : 时钟频率 100000000
  16. * t = Ticks * 1/f = (100000000/1000) * (1/100000000) = 1ms
  17. */
  18.         if(SysTick_Config(SystemCoreClock/1000))
  19.         {
  20.                 while(1);
  21.         }
  22.         SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;
  23. }
  24. //bsp_SysTick定时器中断调用
  25. void TimingDelay_Decrement(void)
  26. {
  27.         if (TimingDelay != 0x00)
  28.         {
  29.                 TimingDelay--;
  30.         }
  31. }
复制代码
bsp_Tick.h
  1. #ifndef _BSP_SYSTICK_H_
  2. #define _BSP_SYSTICK_H_

  3. #include "stm32f4xx.h"
  4. void Delay_ms(__IO u32 nTime);
  5. void SysTick_Init(void);

  6. #endif
复制代码

(3)添加LED相关文件,参考我之前的帖子:
STM32F411【Nucleo】第二课--led灯(基于keil5.13)
(4)修改mian.c
  1. #include "stm32f4xx.h"
  2. #include "bsp_led.h"
  3. #include "bsp_SysTick.h"

  4. int main(void)
  5. {
  6.         LED_GPIO_Config();
  7.         SysTick_Init();
  8.        
  9.   while (1)
  10.   {
  11.                 LED(ON);
  12.                 Delay_ms(1000);
  13.                 LED(OFF);
  14.                 Delay_ms(1000);
  15.                
  16.   }
  17. }

  18. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
复制代码
(5)修改中断服务文件 stm32f4xx_it.c
开头声明一下我们在bsp_SysTick.c 编写的中断处理函数
  1. #include "stm32f4xx_it.h"
  2. extern void TimingDelay_Decrement(void);
复制代码
修改SysTick_Handler函数
  1. void SysTick_Handler(void)
  2. {
  3.         TimingDelay_Decrement();       
  4. }
复制代码


编译后下载后就能看见板载led灯一闪一闪   频率接近1s   用频率分析仪查看周期达到(0.96s)算准了,没在学校!本可用示波器更加准确地检验!

附上代码:
stm32f411re(Nucleo)原理图.pdf (1.03 MB, 下载次数: 50)
收藏 4 评论12 发布时间:2015-2-1 15:51

举报

12个回答
数码小叶 回答时间:2015-2-1 17:10:05
5.13出来了?
颩色四葉愺 回答时间:2015-2-1 17:21:41

出了好久了,不过有个BUG 器件改不了的,悲剧
feel-376797 回答时间:2015-2-1 17:27:33
谢谢分享
数码小叶 回答时间:2015-2-1 17:53:01
颩色四葉愺 发表于 2015-2-1 17:21
出了好久了,不过有个BUG 器件改不了的,悲剧

我还不知道,哪可以下载?
数码小叶 回答时间:2015-2-1 17:53:27
颩色四葉愺 发表于 2015-2-1 17:21
出了好久了,不过有个BUG 器件改不了的,悲剧

我还不知道,哪可以下载?
颩色四葉愺 回答时间:2015-2-1 18:13:37
keil官网啊MDK-ARM Version 5.13
sting 回答时间:2015-2-1 20:24:43
谢谢
112207301219 回答时间:2015-7-28 13:41:13
感谢分享
mark0668 回答时间:2015-7-28 14:46:24
感谢分享
12下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版