专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
求一个大神来指点我一下i2c
2019-07-20 06:14
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
9674
1
1315
求一个大神来指点我一下i2c四个i2c控制四个相同的模块还有一个i2c控制四个相同的模块
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
DreamWaterPro
2019-07-20 11:40
无论是一个I2C总线挂载四个I2C模块,还是四路I2C总线分别挂载一个I2C模块,其通讯过程都是类似的:
写过程:
1、发送I2C总线启动信号
2、发送要控制的器件的设备地址+写标志
3、等待从器件应答
4、接收到从器件应答,发送要写入数据的、这个器件上的寄存器地址
5、等待从器件应答
6、接收到应答,发送要写入的数据
7、等待从器件应答
8、接收到应答,发送停止信号,I2C总线挂起,写过程结束。
读过程:
0、发送I2C总线起始信号
1、发送要控制的I2C器件的设备地址和【写】标志位(至于为什么这里是写,见下文)
2、等待从器件应答
3、接收到应答后,发送要读取的这个I2C设备的寄存器地址(因为这里需要发送的过程相当于写从设备的过程,所以前面的读写标志位要设置为“写标志”)
4、等待从器件应答
5、再次发送I2C总线启动信号,注意没有发送停止信号,相当于重启I2C总线
6、发送要控制的I2C器件的设备地址和读标志位
7、等待从器件应答
8、接收从器件传输过来的数据
9、发送非应答信号(其实就是不应答)
10、发送停止信号,I2C总线挂起,读操作完成。
楼主想问的应该是如何使用一路I2C总线和多个挂载在该总线上的从设备进行通信。注意无论是读过程还是写过程,都需要发送欲操作器件的设备地址,所以在总线上只要发送的不用的设备地址,对应的I2C设备就可以工作了。一般地部分I2C从器件是有可编程的I2C地址的,楼主可以查看该器件的数据手册。如果四个器件完全相同并且只有2个I2C地址可以选,或者没有可编程地址的能力,那么就只能分别挂载在不同的I2C总线上了。
加载中...
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
写过程:
1、发送I2C总线启动信号
2、发送要控制的器件的设备地址+写标志
3、等待从器件应答
4、接收到从器件应答,发送要写入数据的、这个器件上的寄存器地址
5、等待从器件应答
6、接收到应答,发送要写入的数据
7、等待从器件应答
8、接收到应答,发送停止信号,I2C总线挂起,写过程结束。
读过程:
0、发送I2C总线起始信号
1、发送要控制的I2C器件的设备地址和【写】标志位(至于为什么这里是写,见下文)
2、等待从器件应答
3、接收到应答后,发送要读取的这个I2C设备的寄存器地址(因为这里需要发送的过程相当于写从设备的过程,所以前面的读写标志位要设置为“写标志”)
4、等待从器件应答
5、再次发送I2C总线启动信号,注意没有发送停止信号,相当于重启I2C总线
6、发送要控制的I2C器件的设备地址和读标志位
7、等待从器件应答
8、接收从器件传输过来的数据
9、发送非应答信号(其实就是不应答)
10、发送停止信号,I2C总线挂起,读操作完成。
楼主想问的应该是如何使用一路I2C总线和多个挂载在该总线上的从设备进行通信。注意无论是读过程还是写过程,都需要发送欲操作器件的设备地址,所以在总线上只要发送的不用的设备地址,对应的I2C设备就可以工作了。一般地部分I2C从器件是有可编程的I2C地址的,楼主可以查看该器件的数据手册。如果四个器件完全相同并且只有2个I2C地址可以选,或者没有可编程地址的能力,那么就只能分别挂载在不同的I2C总线上了。
一周热门 更多>