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

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

[复制链接]
天天晓宇 发布时间:2015-1-7 10:11
阅读主题, 点击返回1楼
赞 收藏 18 评论109 发布时间:2015-1-7 10:11
109个回答
老胖熊 回答时间:2015-2-26 17:14:02
学习                                             
拼命三郎 回答时间:2015-2-27 08:15:57
hdx.jpg
拼命三郎 回答时间:2015-2-27 08:17:50
fchdx.png
ataudio 回答时间:2015-3-9 20:29:09
我在F407上使用此函数延时,函数设置为:
* s( c+ m$ D' ^void Delay_us(__IO uint32_t nTime)
/ g8 e4 x7 C  \6 H$ |{8 O5 f, c6 S* J; e6 R
        SysTick->LOAD = 144*nTime;
$ s0 S& x9 r: J: }! [8 y        SysTick->CTRL = 0x00000005;6 r4 A3 z2 ^. G. D2 F9 k+ u
        while(!(SysTick->CTRL & 0x00010000));
1 B+ O; k- Q2 L$ O! f        SysTick->CTRL = 0x00000004;) t) O: r: V2 T5 G+ b. |
}) M; r2 @' ^4 U
无延时产生。我还没细看手册上起停定时器寄存器的值,不过直接套用无效。不知道楼主在F407上有没有测试过此寄存器?
" M; ?) a$ {3 E# D' \5 d% {3 H- k) P( _/ F
经过示波器测试,中断延时180us时,平均误差约在0.3us,但偏移范围在0.7个us以内。精度基本可以接受。
waytoanswer 回答时间:2015-3-9 21:16:19
http://www.openedv.com/posts/list/22061.htm8 h" m0 m& Q; [
这里有一种新的延时方式,不占用任何定时器或中断而且可以精确到纳秒级
hehe212121 回答时间:2015-3-9 21:20:09
学到东西了      
zhangdaijin 回答时间:2015-3-10 09:37:25
好帖子  加油
1407W 回答时间:2015-3-10 16:30:16
楼主好人
adjj 回答时间:2015-3-10 18:31:17
不错,学习先,呵呵
wyxy163@126.com 回答时间:2015-3-11 15:15:14
提示: 作者被禁止或删除 内容自动屏蔽
wyxy163@126.com 回答时间:2015-3-11 15:15:35
提示: 作者被禁止或删除 内容自动屏蔽
千羽猎鹰 回答时间:2015-3-11 17:09:00
学习了  就是不知道这个是有啥用途
寂寞如她 回答时间:2015-3-11 19:49:40
好帖,必须顶
foxglove 回答时间:2015-3-12 07:55:01
STM32中实用的精确延时方法
baiying303 回答时间:2015-3-12 08:48:14
感谢分享

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版