打印
[MCU]

I2C从机的数据怎么到主机

[复制链接]
4731|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 | 只看该作者
从机不能主动发数据给主机,主机可以读取从机的数据,这样从机的数据就给主机了

使用特权

评论回复
5
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位读写命令又怎么写。

使用特权

评论回复
6
wsnsyy| | 2014-12-17 13:53 | 只看该作者
什麽叫主機,什麽叫從機,概念清楚了就應該明白了

使用特权

评论回复
7
ldxywdg| | 2014-12-17 13:58 | 只看该作者
其实我也有过类似经历,经常弄混

使用特权

评论回复
8
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是一样的嘛

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

164

帖子

4

粉丝