各位大侠: 请问CH454的IIC地址是多少,是本身自带那?还是我自己定义那? 比清楚我是新手,菜鸟级,刚用这个片子,烦请大家帮忙。
CH454的操作命令由两个字节组成,第一个字节是命令,第二个字节是数据。操作命令的第一个字节就相当于它的I2C地址。454有三十多个命令,相当于它有三十多个自带的I2C地址吧。
谢谢您的回答。但我还是有点不明白,那为什么在CH454的一个例子中就是把地址定为0x40那 为什么这么定义那?程序中是这样的: // 2线接口的CH454定义 #define CH454_I2C_ADDR 0x40 // CH454的地址 #define CH454_I2C_MASK 0x3E // CH454的2线接口高字节命令掩码 如果我把CH454跟ARM板子接起来 那我访问CH454是不是就通过自定义的那个地址那?? 就是不明白这个地址怎么来的 还请您指点。。。。
以CH454pdf的第5页的操作命令表的设定系统参数项为例,位12-位9 是0x04。 调用ch454_write函数发送0x0401操作命令给CH454,第一个字节是0x04,第二个字节是0x01。 ch454_write函数会先调用CH454_I2c_WrByte来发送第一个字节, CH454_I2c_WrByte((UINT8)(cmd>>7)&CH454_I2C_MASK|CH454_I2C_ADDR); 参照CH454pdf的第4页尾的时序图,经过了((UINT8)(cmd>>7)&CH454_I2C_MASK|CH454_I2C_ADDR这个变换,实际发送的操作命令的第一个字节0x04变为0x48 这样实际发送的操作命令是0x4801。 建议您仔细阅读下CH454的PDF,就会明白这是怎么回事。