STMCU小助手
发布时间:2022-12-8 16:00
|
前几天调了1块F103ZET6的开发板,用了个系统定时器,感觉不准,最终找到原因是因为选错了时钟源。; g9 H; L& u; ^ ' ^9 h( P9 P6 X4 F8 z 系统定时器是是Core_cm3和Core_cm4内核均存在的定时器# A* Q" X2 m; x" Y5 w 时器和2个看门狗定时器(独立的和窗口型)。; {1 v2 B% U; V# R6 S 如果选择 SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK)则为0,选择内部时钟72M。 若选择SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8),则系统时钟72M的8分频, 网上很多说把SysTick_CLKSource_HCLK_Div8叫做外部分始时钟,不知道是啥原因? 系统定时器时钟频率为9M: H/ X3 ?5 f1 U 也就是这里我用错了时钟源导致系统定时器不准!! 这是原因1,还有一个原因在下面解释。# Q8 K/ r7 b% q; w: r1 g 3 `6 B3 y5 s+ a. q- J2 J 滴答定时器配置 4 w& C5 |- v$ W! j 时钟配置为72MHz,第一行代码已经选择为滴答定时器系统时钟的8分频,也就是滴答定时器时钟为9MHz, 下面的“fac_us”需要得到的是时钟周期,即1us(1个fac_us)需要9个时钟周期,1个fac_ms需要9000个时钟周期。 以上就是对系统定时器计数不准的解释。 |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
微信公众号
手机版