当前位置:   article > 正文

时钟滴答定时器(sysclk)用法详解_51单片机sysclck

51单片机sysclck

目录:

概述:本篇博客针对sysclk内核定时器(时钟滴答定时器)的常见用法进行总结,分别实现sysclk的定时、延时、计时功能,全部为代码,寄存器描述需参考《Cortex-M3 权威指南》。

平台:stm32f103奋斗开发板   开发环境:MKD5


1:sysclk的定时功能

2:sysclk的us/ms级延时功能

3:sysclk计时功能


1:sysclk的定时功能:LED1、LED2、LED3分别间隔不同的时间闪烁

main.c函数

  1. /*
  2. *FUNC:使用内核中的滴答定时器实现定时功能
  3. *MCU:stm32f103
  4. *DATE:2016/08/30
  5. */
  6. #include "Sys_Driver.h"
  7. #include "Led_Driver.h"
  8. #include "RCC_Driver.h"
  9. /*主函数*/
  10. int main()
  11. {
  12. SysTick_Init(INT_10MS,SysTick_CLKSource_HCLK_Div8); /*内核滴答定时器配置*/
  13. RCC_PeriphClock_Config(); /*外设时钟配置*/
  14. Led_Init(); /*LED灯初始化*/
  15. while(1)
  16. {
  17. /*任务1:led1每隔1s闪烁*/
  18. if(led1_flsh_times >= 100)
  19. {
  20. led1_flsh_times = 0;
  21. led1_on_off = !led1_on_off;
  22. if(led1_on_off == 1)
  23. {
  24. LED_ON(1);
  25. }
  26. else
  27. {
  28. LED_OFF(1)
  29. }
  30. }
  31. /*任务2:led2每隔2s闪烁*/
  32. if(led2_flsh_times >= 200)
  33. {
  34. led2_flsh_times = 0;
  35. led2_on_off = !led2_on_off;
  36. if(led2_on_off == 1)
  37. {
  38. LED_ON(2);
  39. }
  40. else
  41. {
  42. LED_OFF(2)
  43. }
  44. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/755643
推荐阅读
相关标签
  

闽ICP备14008679号