永发信息网

关于iic总线字节传输的问题

答案:2  悬赏:80  手机版
解决时间 2021-04-07 03:44
  • 提问者网友:末路
  • 2021-04-06 04:03
关于iic总线字节传输的问题
最佳答案
  • 五星知识达人网友:第幾種人
  • 2021-04-06 04:33
i2c有定义 字节格式
发送到SDA 线上的每个字节必须为8 位,每次传输可以发送的字节数量不受限制。每个字节后必须跟一个响应位。首先传输的是数据的最高位(MSB),如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟线SCL 保持低电平,迫使主机进入等待状态,当从机准备好接收下一个数据字节并释放时钟线SCL 后数据传输继续。

意思是如果你发送 0x01 那么前面很多个0一定是第一个发送出去的(msb),1是最后发送出去的(lsb)

一般的话,如果你的 ad 转换器是有 I2c接口,那么就直接连接到单片机的i2c好了,具体通讯细节无需考虑
全部回答
  • 1楼网友:鱼忧
  • 2021-04-06 06:08
用AT89S51写AT24C01,AT24CO1的地址是怎样确定的,下面程序为什么它发送完了读取写控制字之后不用发写在AT24CO1的首地址吗?
LCALLSTA;发送起始条件
MOVA,,#0A0H读取写控制字
LCALLWRB;发送一个字节
LCALLCACK;检查应答位
JBF0,WRBYTE1;无应答,重发
MOVR0,#DTSV;欲发送数据首址
MOVR5,KEYNUM;R5保存欲发送数据的字节数
WRDA:MOVA,@R0;读一个字节数据
LCALLWRB;发送写控制字节
LCALLCACK;检查应答位
JBF0,WRBYTE1;无应答,重发
DECR0
DJNZR5,WRDA;未发送完N个字节继续
LCALLSTOP;数据发送完毕,停止
POPPSW;恢复现场
RET
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯