一种处理同一个I2C总线上,器件地址冲突的方法


           最近做项目,某个器件需要二供,可能出现混贴,不巧的是硬件将这些二供器件的I2C地址都做成了一样的,这样就导致,I2C器件在board文件的注册,只会注册第一次出现的地方,解决的办法是,在I2C_BOARD_INFO注册时,为相同地址的器件填写不同的地址,在probe的时候在初始化到正确的地址。比如混贴的两个器件地址都是0x0D,I2C_BOARD_INFO中将其中一个(后一个)改为,0x0E, probe的时候,再把0x0D,重新赋值过来。目前只在混贴的情况下测试是正常的,同时出现还没有测试过。

你可能感兴趣的:(一种处理同一个I2C总线上,器件地址冲突的方法)