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

【经验分享】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/ e  b8 @3 I" Z7 s8 r7 n$ M) Q
少了中断的运行时间,精度应该是比中断更好的

- f4 D. g- P6 D2 n* X' w说的对!
默默前行 回答时间:2015-1-19 11:02:22
赞一个!
Dylan疾风闪电 回答时间:2015-1-19 12:59:43
貌似72MHz时1us的计数值是9.. T( T' W1 l. L6 P
//(nus*HCLK/8)&0x00FFFFFF;
. r$ U# @$ L  d( B3 \3 _SysTick->LOAD = ((nus*HCLK)&0x07FFFFF8)>>3; 无标题.jpg 4 ?% g+ N: m( w0 u4 J8 c/ ^* y
zhous 回答时间:2015-1-19 13:50:00
不错不错
caizhiwei 回答时间:2015-1-19 16:53:07
建议用中断,比如你延时1S,在延时期间cpu不干别的事一直查询等时间到!效率非常低,比如你同时驱动数码管就会闪烁!
' w; V. t/ Q5 r/ `4 |所以建议上操作系统吧,别纠结延时了。。。
moyanming2013 回答时间:2015-1-19 17:41:36
过来支持的
天天晓宇 回答时间:2015-1-20 08:42:57
moyanming2013 发表于 2015-1-19 17:41: _3 R; d9 {5 i$ Q
过来支持的
, u  I7 y7 R, E4 p, |$ D5 s! p
谢谢支持
天天晓宇 回答时间:2015-1-20 08:46:36
caizhiwei 发表于 2015-1-19 16:53
2 O4 M- Z- L% N建议用中断,比如你延时1S,在延时期间cpu不干别的事一直查询等时间到!效率非常低,比如你同时驱动数码管就 ...
  p) T: x% c$ V1 i
不是所有的东西都需要上操作系统,你说的效率低的确是,但是一般的普通延时,几us的,ms的用这个比较方便。很多时候比如复位某个芯片,然后等待一段时间再去操作,都是需要等待的,系统初始化的时候也是。
天天晓宇 回答时间:2015-1-20 08:47:04
zhous 发表于 2015-1-19 13:50( ]! g1 z' g% f  b4 i3 D
不错不错

$ @; g& M; N+ t  }% A谢谢支持
caizhiwei 回答时间:2015-1-20 08:48:37
天天晓宇 发表于 2015-1-20 08:46
8 s0 z; |( q* G; F1 D不是所有的东西都需要上操作系统,你说的效率低的确是,但是一般的普通延时,几us的,ms的用这个比较方便 ...

' H+ h; [. [8 \4 _( H0 O1 SuS级的用延时,ms级的用中断,
天天晓宇 回答时间:2015-1-20 08:49:20
Dylan疾风闪电 发表于 2015-1-19 12:590 @. k! l' X4 a% n
貌似72MHz时1us的计数值是9.
2 @% F0 c$ C" e3 u. W6 {( [" C//(nus*HCLK/8)&0x00FFFFFF;
* w* v9 z0 N: V  ISysTick->LOAD = ((nus*HCLK)&0x07FFFFF8)>>3;

! G0 e# e# q2 f$ y' O) \& }" J, |亲,你没看到他说systick的时钟是9M吗?我们设置的时钟是72M,当然是72
天天晓宇 回答时间:2015-1-20 08:49:40
十二翼天使 发表于 2015-1-9 08:084 U7 A1 D9 r. C, D" B
这种精确延时方法我在书上看到过,但有好久没看了,太生疏了,这段时间忙着功课和英语六级真是麻烦。不过还 ...

  W, u4 i8 s3 G谢谢支持
caizhiwei 回答时间:2015-1-20 09:44:45
楼主程序虽简单,但是有两行错误!
2 x- A5 z. x3 Y! H# C/ H/ O1.systick时钟为9Mhz,所以第一句应该是9*nTime
  E+ ?- P- M) X& y' e# y2,。关闭计数器应该是:
0 F& r6 B6 O* q9 k' H8 {& N# jSysTick->CTRL=0x00;       //关闭计数器
: I; }  }/ ~4 ?* O) G: a( q- I0 n2 A: t) v+ L- u
谁对谁错?不能误人子弟!请楼主出面对质!!!
天天晓宇 回答时间:2015-1-20 09:58:38
caizhiwei 发表于 2015-1-20 09:44
5 b+ W) T8 W; g1 \- u% G1 {8 P- E) B楼主程序虽简单,但是有两行错误!6 x4 C3 l3 u+ k
1.systick时钟为9Mhz,所以第一句应该是9*nTime& f: C5 ~2 X/ \) N! K- |( c
2,。关闭计数器应该是: ...

, Y. V2 K/ F0 u. ~* k( v$ d' J' `亲,对质可以啊,你在群里ID叫什么,我们去群里对质
Dylan疾风闪电 回答时间:2015-1-20 18:15:27
天天晓宇 发表于 2015-1-20 09:58! B4 J( E& v" {4 Y: I" k
亲,对质可以啊,你在群里ID叫什么,我们去群里对质

& f+ X7 Z9 t2 z4 T- }6 M很有必要看以下RCC时钟树。了解下滴答器的时钟是怎么来的。
: ^- P3 J4 T( p' f/ _本不想说的,现在提一下。楼主可以通过至少以下2种方式验证:1.示波器看滴答器控制GPIO电平翻转(直接又有效)。2.问ST的FAE。) }0 C. w: z8 {# X2 J
无标题.jpg # r) Z6 k& L' A* L2 `( z# d
% P: O$ h+ [* Q4 p5 a& W

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版