ST意法半导体
直播中

龙献益

7年用户 989经验值
私信 关注
[问答]

使用HSE将STM32F446RE时钟配置为180MHz出错是何原因呢?

当我尝试高速设置时钟频率时,我遇到了一个奇怪的问题。
我正在使用 CubeMX 配置系统并在 AtollicTrueStudio 上进行开发。
我注意到一些奇怪的事实将时钟频率设置为超过 120MHz。
首先,滴答周期结果约为 0.98 毫秒。(在 180MHz)
执行 osDelay(1000) 并用示波器测量数字引脚切换的周期,该周期实际上约为 980ms。
osDelay(100)->98ms。
我已经使用 HSE 将时钟配置为 180MHz,但这里还有另一个问题,如果从 PLL 源 MUX 我选择 HSE,1 个滴答变为 3.2ms 而不是 1ms。
从 PLL 源 MUX 选择 HSI,滴答周期变为 0.98ms。
设置 120MHz 和 HSI 一切正常。
有人可以重现这种效果吗?
这是怎么回事?









回帖(1)

张荣

2023-1-5 14:37:18
我已经使用 HSE 将时钟配置为 180MHz,但这里还有另一个问题,如果从 PLL 源 MUX 我选择 HSE,1 个滴答变为 3.2ms 而不是 1ms。
您是否为 HSE 使用 8MHz 晶体,而在 CubeMX 中设置为 25MHz?
做 osDelay(1000)
查看osDelay的源代码。时序出错的方式有很多种,通常与时序粒度有关。
HSI 本身也不精确。将系统时钟(可能分频)输出到 MCO 并在那里进行测量。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分