完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在写一个I2C。阅读协议,理解master先寻址slave,然后发送或接受数据
但如果主机寻址发送的是从机的设备地址,那么如何确定读写寄存器的地址呢? 还是我理解错了?主机寻址的时候就是发送的寄存器的地址? 求大家帮帮忙,谢谢啦! |
|
相关推荐
2个回答
|
|
I2C标准总线只定义起始/停止条件、从机地址寻址和数据应答收发(仲裁等等)。从数据的结构上说,就是8位数据加1个应答,第一个数据已定义,就是从机地址和读写位;后面数据用法可自定义,比如可定义为寄存器地址之类的,又或者第二个是芯片命令、第三个才是寄存器地址,又或者第二个开始就是数据(只有八位寄存器或者定义了从地址0开始存放)。本就很灵活的,别想得太死板。具体看芯片说明。
以上是我的理解。 |
|
|
|
master首先发送起始位,然后跟着是slave器件地址,紧接着是寄存器地址,然后根据是read还是write的不同发送或接收数据,其实,楼主的意思是想知道slave是如何识别寄存器地址的吧?其实slave首先是识别起始位,发现起始位后匹配器件地址,如果是自己,才会进行接下来操作,而master发送寄存器地址的时候,不会再发送起始位了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2314 浏览 2 评论
1395 浏览 0 评论
1499 浏览 0 评论
599 浏览 0 评论
AG32软件包SDK更新:加入新例程(可实现至少15个UART串口)
1275 浏览 0 评论
2763 浏览 59 评论
6691 浏览 115 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-5-10 04:20 , Processed in 0.541820 second(s), Total 73, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191