[MCU] I2C从机的数据怎么到主机

[复制链接]
5091|7
 楼主| qhtflsw 发表于 2014-12-17 10:34 | 显示全部楼层 |阅读模式
对I2C有点迷糊了。大家都说从机不能发送数据到主机,那么两个单片机用I2C怎么互相传数据呢?只有主机发吗?还是写程序时候主机转变一下?
ningling_21 发表于 2014-12-17 11:29 | 显示全部楼层
主机可以不停的查询从机的数据,从机收到查询就返回...
ayb_ice 发表于 2014-12-17 11:40 | 显示全部楼层
主机读,从机发
felixwk 发表于 2014-12-17 12:27 | 显示全部楼层
从机不能主动发数据给主机,主机可以读取从机的数据,这样从机的数据就给主机了
 楼主| qhtflsw 发表于 2014-12-17 13:47 | 显示全部楼层
ayb_ice 发表于 2014-12-17 11:40
主机读,从机发

如果设置从机的地址为8.那么主机写入读取的地址是0X08写,0x09读还是0x10和0X11.
这里的7位从机地址为什么要左移一位?8 = 0000 1000 ,七位地址,舍弃右边的0+1位R/W才对吧?
没理解透7位的意思。如果是10位读写命令又怎么写。
wsnsyy 发表于 2014-12-17 13:53 | 显示全部楼层
什麽叫主機,什麽叫從機,概念清楚了就應該明白了
ldxywdg 发表于 2014-12-17 13:58 | 显示全部楼层
其实我也有过类似经历,经常弄混
ayb_ice 发表于 2014-12-17 15:43 | 显示全部楼层
qhtflsw 发表于 2014-12-17 13:47
如果设置从机的地址为8.那么主机写入读取的地址是0X08写,0x09读还是0x10和0X11.
这里的7位从机地址为什 ...

BIT0是用于表示读还是写的,BIT1~BIT7才是地址,那当然要移位一位了(地址是0~127),如果不移也可以的,那地址就是0,2,4,6,8~254,和(0~127)<<1是一样的嘛
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

168

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部