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

【经验分享】STM32中实用的精确延时方法  

[复制链接]
天天晓宇 发布时间:2015-1-7 10:11
阅读主题, 点击返回1楼
收藏 18 评论109 发布时间:2015-1-7 10:11
109个回答
大秦正声 回答时间:2015-1-19 10:41:49
天天晓宇 发表于 2015-1-8 12:49
少了中断的运行时间,精度应该是比中断更好的

说的对!
默默前行 回答时间:2015-1-19 11:02:22
赞一个!
Dylan疾风闪电 回答时间:2015-1-19 12:59:43
貌似72MHz时1us的计数值是9.
//(nus*HCLK/8)&0x00FFFFFF;
SysTick->LOAD = ((nus*HCLK)&0x07FFFFF8)>>3; 无标题.jpg
zhous 回答时间:2015-1-19 13:50:00
不错不错
caizhiwei 回答时间:2015-1-19 16:53:07
建议用中断,比如你延时1S,在延时期间cpu不干别的事一直查询等时间到!效率非常低,比如你同时驱动数码管就会闪烁!
所以建议上操作系统吧,别纠结延时了。。。
moyanming2013 回答时间:2015-1-19 17:41:36
过来支持的
天天晓宇 回答时间:2015-1-20 08:42:57

谢谢支持
天天晓宇 回答时间:2015-1-20 08:46:36
caizhiwei 发表于 2015-1-19 16:53
建议用中断,比如你延时1S,在延时期间cpu不干别的事一直查询等时间到!效率非常低,比如你同时驱动数码管就 ...

不是所有的东西都需要上操作系统,你说的效率低的确是,但是一般的普通延时,几us的,ms的用这个比较方便。很多时候比如复位某个芯片,然后等待一段时间再去操作,都是需要等待的,系统初始化的时候也是。
天天晓宇 回答时间:2015-1-20 08:47:04

谢谢支持
caizhiwei 回答时间:2015-1-20 08:48:37
天天晓宇 发表于 2015-1-20 08:46
不是所有的东西都需要上操作系统,你说的效率低的确是,但是一般的普通延时,几us的,ms的用这个比较方便 ...

uS级的用延时,ms级的用中断,
天天晓宇 回答时间:2015-1-20 08:49:20
Dylan疾风闪电 发表于 2015-1-19 12:59
貌似72MHz时1us的计数值是9.
//(nus*HCLK/8)&0x00FFFFFF;
SysTick->LOAD = ((nus*HCLK)&0x07FFFFF8)>>3;

亲,你没看到他说systick的时钟是9M吗?我们设置的时钟是72M,当然是72
天天晓宇 回答时间:2015-1-20 08:49:40
十二翼天使 发表于 2015-1-9 08:08
这种精确延时方法我在书上看到过,但有好久没看了,太生疏了,这段时间忙着功课和英语六级真是麻烦。不过还 ...

谢谢支持
caizhiwei 回答时间:2015-1-20 09:44:45
楼主程序虽简单,但是有两行错误!
1.systick时钟为9Mhz,所以第一句应该是9*nTime
2,。关闭计数器应该是:
SysTick->CTRL=0x00;       //关闭计数器

谁对谁错?不能误人子弟!请楼主出面对质!!!
天天晓宇 回答时间:2015-1-20 09:58:38
caizhiwei 发表于 2015-1-20 09:44
楼主程序虽简单,但是有两行错误!
1.systick时钟为9Mhz,所以第一句应该是9*nTime
2,。关闭计数器应该是: ...

亲,对质可以啊,你在群里ID叫什么,我们去群里对质
Dylan疾风闪电 回答时间:2015-1-20 18:15:27
天天晓宇 发表于 2015-1-20 09:58
亲,对质可以啊,你在群里ID叫什么,我们去群里对质

很有必要看以下RCC时钟树。了解下滴答器的时钟是怎么来的。
本不想说的,现在提一下。楼主可以通过至少以下2种方式验证:1.示波器看滴答器控制GPIO电平翻转(直接又有效)。2.问ST的FAE。
无标题.jpg

所属标签

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