找回密码
 注册
关于网站域名变更的通知
查看: 313|回复: 3
打印 上一主题 下一主题

求助DelayX10us单片机函数到底延时多久?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-3-29 10:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
求助以下两个DelayX10us函数循环有没有区别啊?51单片机中在设定温度传感器的等待时间的时候,为什么前者不能初始化,后者就能初始化呢?! z7 e- B5 Y( m) E3 O$ J9 f, K

% w" f( p$ B; mvoid DelayX10us(unsigned char t){$ v# m- |) Y- P
        while(t--){
" L' K, u  g; s                _nop_(); _nop_(); _nop_();
1 [" |( D3 p& e                _nop_(); _nop_(); _nop_();. C0 E6 g3 N5 r) f6 w
                _nop_(); _nop_(); _nop_();
! p( \. }* q! Y        }% u& C3 ~& e. U$ E% E, m
}7 s$ f" R4 G- S4 @( f3 S' a! C) g9 v
void DelayX10us(unsigned char t){# b; F* Z. g7 O. T
        do{
6 F4 M) b2 ?! U0 H4 f: I+ x                _nop_(); _nop_(); _nop_();
/ v3 Y( Z% Y- m* A3 `( o6 ]+ Q                _nop_(); _nop_(); _nop_();, x# J) W  _2 ^/ l. Q
                _nop_(); _nop_(); _nop_();
! ^9 q1 b, V+ i        }while(--t);
5 A5 j: }( y. t) c}5 s9 ~2 @' J/ {
# z7 V: ^5 z* X0 m8 U1 K
—————————————————————
7 O" F! @6 `0 Abit Get18B20Ack(){+ a! ]* S. Z" i7 M9 }* g
        bit ack;; W& _" ]: X' t/ g: }) L9 X& J7 n
6 Z0 `% e7 @  \! U6 b6 ?
        EA = 0;/ \/ e" ]! P! o( P: F
        IO_18B20 = 0;: Y4 {4 r7 Y1 s  T
        DelayX10us(50);
9 a+ `3 t5 p: m3 Q9 f6 {; x: f        IO_18B20 = 1;
. g* [: g/ G5 ?        DelayX10us(6);
# Z( o- B: f9 s" [$ n0 Y9 _" u, p        ack = IO_18B20;. r* b  G8 B3 _- W1 M
        while(!IO_18B20);
: m# ~" E7 ?, V- s        EA = 1;
. ]/ q  J6 o* z; Z) J. g( p. j& [/ {
* |7 r5 }% Q. n' g! l        return ack;
, |2 M3 D& Y$ E. Z* M' `- C7 n5 q# Y}* x) a5 a1 }, ?6 M
+ ^1 o$ r7 L. A' ^% e

该用户从未签到

2#
发表于 2022-3-29 13:23 | 只看该作者

! `$ {( U: {/ e8 vdo while  和 while语句的区别   , z# o: ~/ {5 E$ t. e4 S- Y" F
  do while  是指先运行语句 之后再判断,也就是while(1)
+ s* A9 h) \3 R0 q, w  }3 u8 c而while 是指先进行判断再执行语句

该用户从未签到

3#
发表于 2022-3-29 13:37 | 只看该作者
8 F. ~3 ^% j; `  v+ K
do while  和 while语句的区别      do while  是指先运行语句 之后再判断,也就是while(1) 而while 是指先进行判断再执行语句

该用户从未签到

4#
发表于 2022-3-29 14:28 | 只看该作者
do while  和 while语句的区别   
' S. B$ J% ~* M  {  do while  是指先运行语句 之后再判断,也就是while(1)$ x) C5 z  P7 K  k4 [
而while 是指先进行判断再执行语句
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 15:20 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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