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

STM32F446RC运行在180MHz下,SysTick能配置成100ms一次吗?

[复制链接]
冯兆亮 提问时间:2017-7-13 17:41 /
STM32F446RC运行在180MHz下,SysTick能配置成100ms一次吗?
那如果配置成1s一次呢?


收藏 评论10 发布时间:2017-7-13 17:41

举报

10个回答
斜阳 回答时间:2017-7-14 09:20:10
建议不要改systick。如果需要自定义时基可以考虑使用timer6和timer7
MrJiu 回答时间:2017-7-14 09:26:16
我的意思也是楼上!!配置任意时间都可以,但是作为滴答时钟,还是配置1ms一次,比较好,如果需要其他时间计算,可以加一个变量解决!!!!
冯兆亮 回答时间:2017-7-22 09:12:20
斜阳__ 发表于 2017-7-14 09:20
建议不要改systick。如果需要自定义时基可以考虑使用timer6和timer7

感谢回复!原因是什么?
冯兆亮 回答时间:2017-7-22 09:12:51
MrJiu 发表于 2017-7-14 09:26
我的意思也是楼上!!配置任意时间都可以,但是作为滴答时钟,还是配置1ms一次,比较好,如果需要其他时间 ...

感谢回复!原因是什么?
斜阳 回答时间:2017-7-22 09:17:05
liangliangwa 发表于 2017-7-22 09:12
感谢回复!原因是什么?

在无rtos的时候,HAL库用SysTick作为1ms时间基准。当有rtos的时候,rtos占用systick,同时要为HAL库指定另一个时钟。所以,一般不要修改Systick的配置
冯兆亮 回答时间:2017-7-22 09:26:14
斜阳__ 发表于 2017-7-22 09:17
在无rtos的时候,HAL库用SysTick作为1ms时间基准。当有rtos的时候,rtos占用systick,同时要为HAL库指定 ...

时间基准不用1ms的行不?我现在有RTOS,我只是想让系统运行慢一点,如果修改成10ms的systick会怎么样?
斜阳 回答时间:2017-7-22 09:27:56
修改rtos的配置
冯兆亮 回答时间:2017-7-22 09:32:29

你的意思是修改RTOS调度时间,也不能修改systick配置的时间?systick常规做法都是配置为1ms,但是也有配置1us的,那么我就想到配置成10ms了,还是不太理解你所说的尽量不要修改systick配置背后的深意,望详释!
斜阳 回答时间:2017-7-22 10:35:53
liangliangwa 发表于 2017-7-22 09:32
你的意思是修改RTOS调度时间,也不能修改systick配置的时间?systick常规做法都是配置为1ms,但是也有配 ...

因为rtos已经接管了Systick的相关配置工作,所以不要自己去修改相应的寄存器。你只需要修改相应的配置参数就好
一下代码存在于freertos的文件中。
  1. #define portSTACK_GROWTH                        ( -1 )
  2. #define portTICK_PERIOD_MS                        ( ( TickType_t ) 1000 / configTICK_RATE_HZ )
  3. #define portBYTE_ALIGNMENT                        8
复制代码

冯兆亮 回答时间:2017-7-22 15:12:28
斜阳__ 发表于 2017-7-22 10:35
因为rtos已经接管了Systick的相关配置工作,所以不要自己去修改相应的寄存器。你只需要修改相应的配置参 ...

嗯嗯,在有RTOS的情况下,我是这样配置的,不过我想把宏的变量值改成100,从而实现了10ms的systick配置,这样可以吗?
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版