I2C 10-bit 地址
I2C协议支持两种设备地址:普通的7位地址和扩展的10位地址集。地址集不相交:7位地址0x10与10位地址0x10不相同(尽管单个设备可以对两者都作出响应)。为了避免歧义,用户看到10位地址映射到不同的地址空间,即0xa000-0xa3ff。前导0xa(= 10)表示10位模式。用于在sysfs中创建设备名称。当通过sysfs中的new_device文件实例化10位设备时也需要它。
进出10位地址设备的I2C消息有不同的格式。详细信息请参见I2C规范。
当前的10位地址支持是最小化的。这应该是可行的,但是在此过程中可能会出现一些问题:
- 不是所有的总线驱动程序都支持10位地址。有些不需要,因为硬件不支持(例如,SMBus不需要10位地址支持),有些不需要,因为没有人愿意添加代码(或者代码已经存在,但不能正常工作)。众所周知,软件实现(i2c-algo-bit)是可行的。
- 一些可选特性不支持10位地址。例如,通过驱动程序自动检测和实例化设备。
- 许多用户空间包(例如i2c-tools)不支持10位地址。
注意,10位地址设备仍然非常罕见,所以上面列出的限制可能会持续很长时间,甚至可能永远存在,如果没有人需要修复它们。
本文来自博客园,作者:闹闹爸爸,转载请注明原文链接:https://www.cnblogs.com/wanglouxiaozi/p/15165516.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了