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

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 回答时间:7 天前
因为这是个理想条件,刚好能除8得到18.75MHZ,从而固定值为18750。
过去的一生 回答时间:7 天前

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

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

xmshao 回答时间:7 天前
建议你对这句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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版