stm32f103 FreeRTOS 滴答时钟配置
来源:互联网 发布:你的孤独虽败犹荣知乎 编辑:程序博客网 时间:2024/04/27 14:43
stm32上的滴答时钟是操作系统运行的基础
stm32的滴答时钟树如下图,SysTick可以选择HCLK(AHB时钟)或HCLK/8作为运行时钟
stm32的滴答定时器是24bit的定时器,对于其配置只有四个寄存器:
STK_CTRL为控制寄存器
STK_LOAD为自动重装载寄存器
STK_VAL当前计数值寄存器(从重装载值向下计数,当该值为0时产生中断)
STK_CALIB为校准寄存器,不常用
控制寄存器STK_CTRL只有4位被用到:
bit0:ENABLE SysTick的使能位,1使能SysTick定时器,0关闭SysTick定时器
bit1:TICKINT SysTick中断使能位,1 当STK_VAL计数为0时会触发SysTick中断,0 当STK_VAL为0时不触发中断
bit2:CLKSOURCE SysTick时钟选择位,1 SysTick的时钟为AHB时钟,0 SysTick时钟为AHB/8
bit16:计数为0的标志位,若STK_VAL计数为0,此标志会被置1
---------------------------------------------------------------------SysTick基础知识分割线-------------------------------------------------------------------------------------------
FreeRTOS的时钟配置代码如下
void delay_init(){u32 reload;SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);//选择外部时钟 HCLK 72Mhzfac_us=SystemCoreClock/1000000;//其他定时使用reload=SystemCoreClock/1000000;//reload=72reload*=1000000/configTICK_RATE_HZ;//reload=72*1000000/configTICK_RATE_HZfac_ms=1000/configTICK_RATE_HZ;//SysTick->CTRL|=SysTick_CTRL_TICKINT_Msk; //开启SYSTICK中断SysTick->LOAD=reload; //重装载值为reload=72*1000000/configTICK_RATE_HZSysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; //SysTick的使能 }
由上可知重装载值reload=72*1000000/configTICK_RATE_HZ,配置的Sys_Tick的频率为72M
因此Sys_Tick定时周期为 reload*(1/72M) 秒 = 1/configTICK_RATE_HZ 秒
- stm32f103 FreeRTOS 滴答时钟配置
- STM32F103系统时钟配置
- freertos 移植到stm32f103
- FreeRTOS时钟配置——Cortex-M3
- 时钟和滴答
- FreeRTOS+STM32F103系列--1.移植
- STM32F103 使用HSI配置系统时钟为64MHZ
- STM32F103 时钟系统
- stm32f103时钟树讲解
- STM32F103时钟系统:系统时钟配置为56M,有哪些配置方法
- 时钟滴答(clock tick)
- stm32的滴答时钟systick
- FreeRTOS移植到STM32F103步骤与注意事项
- 基于STM32F103关于FreeRTOS 学习笔记
- stm32f103 rtc 获取 日历 时钟
- 配置 FreeRTOS
- 配置FreeRTOS
- 配置 FreeRTOS
- [Android-ARCore开发]ARCore从入门到放弃1-Demo上手
- Anaconda IDE的基本使用
- scala基本语法学习
- SQL的插入操作
- json_encode的实现方法
- stm32f103 FreeRTOS 滴答时钟配置
- 面试问题redis rdb 和aof的区别
- 单向链表的操作汇总
- [Android] Android中xml tools属性详解
- 《PCL点云库学习&VS2010(X64)》Part 43 协方差矩阵的特征向量
- ALLEGRO学习之电源电路的电解电容方向最好一样,优先级比线更好走要高
- 三年的企业网站改版之后将获得三大优势
- 前端命名规范及常用词汇
- [Android] Android自定义View修炼之路(1)