OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4319|回复: 3

关于systick延时倍乘数问题

[复制链接]

3

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2013-6-1
在线时间
54 小时
发表于 2013-6-1 18:03:21 | 显示全部楼层 |阅读模式
各位大侠!有关systick延时倍乘数,小弟有点想不通,如下语句:“fac_us=SYSCLK/8; //不论是否使用ucos,fac_us都需要使用”  “SysTick->LOAD=nus*fac_us; //时间加载”也就是原子哥开发板光盘的里的程序。 SYSCLK=72,那fac_us就为9MHZ,如果要1us的延时倍乘数,SYSCLK/8之后的结果不是应该为1MHZ么?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

86

主题

984

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1850
金钱
1850
注册时间
2013-4-15
在线时间
163 小时
发表于 2013-6-1 20:14:58 | 显示全部楼层
回复【楼主位】凯特21:
---------------------------------
我觉得你可能理解错了,fac_us=SYSCLK/8=72/8=9(次),而不是fac_us=9(MHz),注意括号内的单位。
systick定时器的频率是系统时钟的1/9,因为你在系统时钟初始化的时候已经初始化系统时钟的频率为72MHz了,所以此时systick定时器的频率为9MHz,这里设置fac_us=9(次),意思是时钟频率为9MHz的时钟走9次,刚好是1us的时间。明白不?
合肥-文盲
回复 支持 反对

使用道具 举报

3

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2013-6-1
在线时间
54 小时
 楼主| 发表于 2013-6-1 22:13:58 | 显示全部楼层
回复【2楼】合肥-文盲:
---------------------------------
哦!懂了!谢谢指教!
回复 支持 反对

使用道具 举报

86

主题

984

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1850
金钱
1850
注册时间
2013-4-15
在线时间
163 小时
发表于 2013-6-3 10:24:42 | 显示全部楼层
呵呵   我也初学   一起努力!!
合肥-文盲
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-19 01:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表