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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
求助以下两个DelayX10us函数循环有没有区别啊?51单片机中在设定温度传感器的等待时间的时候,为什么前者不能初始化,后者就能初始化呢?7 u- e  m8 O1 m! m8 {+ m

1 h7 ~* ?4 u- Y( X4 I$ Avoid DelayX10us(unsigned char t){* s+ {+ \; h7 p" F& d
        while(t--){
1 ?8 z) l7 S, b1 s- o- K" ^; o                _nop_(); _nop_(); _nop_();
  W3 G+ `+ l, G" @                _nop_(); _nop_(); _nop_();: n* l6 v) A* P0 }
                _nop_(); _nop_(); _nop_();$ `' @7 a1 [* G8 E+ x
        }
  S7 P  O5 ]$ X) m* b( ]& T}
1 u& v% D3 j( A4 svoid DelayX10us(unsigned char t){+ |5 \* Y6 v% S2 y  R6 H" T* y) \
        do{1 D( @4 [9 o& Y+ G
                _nop_(); _nop_(); _nop_();2 P+ Z: |) j0 C2 m  o
                _nop_(); _nop_(); _nop_();2 M! D* M0 Q) w) K  h3 J
                _nop_(); _nop_(); _nop_();- e5 [9 Y( U* l1 ?. [1 ?. W
        }while(--t);' `/ P8 l/ `& B
}4 m# `7 C% A. c! r2 ~/ U

4 W/ {. ]" z9 g; y+ J—————————————————————9 @/ _9 G% S# B2 r% C
bit Get18B20Ack(){
7 U  _/ k1 d1 `1 w5 D        bit ack;8 ~0 r! {: }3 B, Z& K4 _( i

) T7 C' \5 i" H6 |: i        EA = 0;0 h9 x8 F; J' Y
        IO_18B20 = 0;, O" r& k" }" g; x% _- n: B
        DelayX10us(50);; N+ J0 g4 h0 V7 F8 _( I7 h# G
        IO_18B20 = 1;
% X4 b7 e! E. v. n$ S# ^7 y        DelayX10us(6);4 t. K( n* z, @1 V
        ack = IO_18B20;* w, L* T' ^' W
        while(!IO_18B20);
' ~3 I  `( ^  l; h4 M* s        EA = 1;
+ v  j, R6 t0 p# j* U0 N0 C1 O
3 A8 R9 t. n* R: j  u- a% v        return ack;
5 l* M+ O1 U* B: v/ `7 Z# }& u# S( i}' J- ~2 E2 K/ T  x# S9 h0 B

" o3 d0 U( s) [& n, W& `) b

该用户从未签到

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

+ o. ]  A0 [4 w, Ido while  和 while语句的区别   
6 H/ x, t' H9 W8 X8 B/ k5 f* C  do while  是指先运行语句 之后再判断,也就是while(1)
/ f& y/ X- a( j+ W( ~而while 是指先进行判断再执行语句

该用户从未签到

3#
发表于 2022-3-29 13:37 | 只看该作者
  T( r  R, n- a% C2 P
do while  和 while语句的区别      do while  是指先运行语句 之后再判断,也就是while(1) 而while 是指先进行判断再执行语句

该用户从未签到

4#
发表于 2022-3-29 14:28 | 只看该作者
do while  和 while语句的区别   
* C, X% s6 @5 c- H+ i" F7 e  do while  是指先运行语句 之后再判断,也就是while(1)! R" R, f5 \  S  T3 E' l: k
而while 是指先进行判断再执行语句
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-22 02:54 , Processed in 0.078125 second(s), 23 queries , Gzip On.

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

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

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