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

Systick的校准值为什么按照HCLK为150MHz来设置?

[复制链接]
过去的一生 提问时间:2024-6-21 11:38 / 未解决
STM32F407的HCLK最大为168MHz,而Systick的校准值按照HCLK为150MHz来设置,Systick的校准值这样设置的原因是什么?为什么不按照HCLK为168MHz来设置Systick的校准值?
PixPin_2024-06-21_11-16-46.png
收藏 评论3 发布时间:2024-6-21 11:38

举报

3个回答
butterflyspring 回答时间:2024-6-21 12:02:47
因为这是个理想条件,刚好能除8得到18.75MHZ,从而固定值为18750。
过去的一生 回答时间:2024-6-21 14:04:10

butterflyspring 发表于 2024-6-21 12:02
因为这是个理想条件,刚好能除8得到18.75MHZ,从而固定值为18750。

那为什么不是168MHz/8 = 21MHz,从而固定值为21000

xmshao 回答时间:2024-6-21 15:01:04
建议你对这句systick校准值的描述无视掉。


这句描述本来就很突兀,即使没有这句,也完全不影响我们对SYSTICK的应用。


因为systick属于ARM 内核的外设,并没有在STM32参考手册里做详细描述,突然
来这么一句着实有点突兀。


如果想了解更多信息,必须阅读ARM cortex-M对于systick的描述。


另外,关于这个systick校准值寄存器的使用,平常也基本不怎么关注。


你现在的关注点,为什么校准时用的时钟是150MHz,而不是168MHz.


我是这样理解的,这个主要看芯片生产过程中工艺的便利性吧,它只是
基于一个比较准的时钟源测得1个参考值放在校准寄存器里。不过,这个值
并不是必需的。


我们知道,STM32F4系列又分很多子系列,不同子系列的最高HCLK也不相同。


另外,如果你再仔细阅读SYSTICK相关资料后也会发现,这句有关校准值的数字


也是值得商榷的,到底是1ms还是10ms的时间?数字是否还得减掉1?


STM32系列众多,有些系列在描述这个SYSTICK校准寄存器时又是按整个32位
宽度来描述的,此时我们只需关心低24位的值,否则你也会看不懂咋回事。


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