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

单片机24c02读取问题 有几句源代码不理解

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

$ U) ^8 J6 O0 W- ?# `uchar iicre_byte(void)  
* P. Q2 g2 a& H5 F{  
0 I1 H+ n4 m/ M- `# R/ C9 [) Tuchar i;- C3 e- f/ S& e8 X
uchar dat;: z& `: u! l9 t  [$ \0 p
scl=0;  
& [3 m  J# b/ ~3 m& K1 W! r3 Kdelay();  
. ~4 n* }& T7 Y+ S- A3 h% _2 y$ Csda=1;  + z/ c4 ~) V* t& K
delay(); //////////???????????, Q  r+ b  y9 J+ J# u2 [
     for(i=0;i<8;i++)  $ b6 F% Y7 o) Z3 g6 X
     {  
3 Y1 Y! D( k4 g+ f2 F# d& |        scl=1;  
0 g2 b  W4 U) D; _        delay();  , c, T! W9 o: i" a6 G3 w
        dat=dat<<1;  
3 P% t8 ~5 O3 N3 g+ Y        if(sda)  ' o4 ]7 F' P5 a3 w- n/ z8 q
       {  
/ V/ l. b" u5 D: T  ~        dat++;/ U' V, m/ j6 q* H
       }  
3 j9 i( C4 I% n; v3 F  a0 d        scl=0;  
6 z) ?. G0 u, F2 ~1 x/ z       delay();  + w3 }3 V* y5 L9 n$ t4 B8 [
      }  0 K6 {6 P! B- |2 _+ }
return dat;: z/ q6 v- |5 l: \" f  v2 v. @
}5 r4 H1 _& ]& d4 ~$ q& G) v* u3 D

, p2 x, n; M# u# @2 y2 _! \( o& ^+ R+ ^; @7 z3 D( X' O4 @
! a1 @0 r+ w( F/ s. v
4 G4 o1 t3 X; B( x- s
uchar read_byte()
9 V! b+ O: z0 |  H{$ o4 u" i& W& t6 I# J  f
                uchar i,k;
0 w5 |# b5 W5 V% M5 i: Z" v2 G4 T$ A, C4 [

' b3 K9 B: ]$ y/ q. w5 ^1 z1 _                for(i=0;i<8;i++)
; m7 Q7 w# o! F                {7 G9 ?2 u$ i. A; B7 ~/ u
                scl=1;      : I* I# k! ~+ p7 A
                k=(k<<1)|sda;   1 s* j+ Y# V2 ]# r- H. [9 R
                scl=0;
( d% i8 t1 t3 u5 A5 [                }
. T/ ^5 [9 P2 C                scl=0;
9 P- X" ~+ y2 Z- B5 Z, c                sda=1;% R- x! {4 ]6 q& @( V
                return k;$ {0 @4 D  m) c' t9 ?" |
}
6 S8 N) G, A9 c2 S这两个程序都可以完成读取。第一个for前面加的scl,delay,sda,delay是什么意思?要不要不是都行吗,求指点。) n$ H1 r( U( q. ]2 p
- |$ v: z8 ^! x9 S# m; T, a. e3 v* z

该用户从未签到

2#
发表于 2022-1-19 15:26 | 只看该作者
个人觉得,怎么写代码没关系,只要能满足I2C协议条件就行。) r! T6 ]1 L! A5 u2 j# e/ c

该用户从未签到

3#
发表于 2022-1-19 15:54 | 只看该作者
; `2 }/ {4 c0 A' r. e) W8 N; Q
适当的短暂延时有助于系统稳定,适当重复操作可以提高系统的耐操性。高手写的程序和新手写的程序的差别。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-18 00:01 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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