你好,请教下3个CH455并联时,如何使用

按照例程中,先驱动起来了第一个,另外两个的CH455_I2C_ADDR如何确定,谢谢


void CH455_Write( UINT16 cmd )//写命令

{

CH455_I2c_Start();               //启动总线

   CH455_I2c_WrByte(((UINT8)(cmd>>7)&CH455_I2C_MASK)|CH455_I2C_ADDR);

   CH455_I2c_WrByte((UINT8)cmd);               //发送数据

  CH455_I2c_Stop();                 //结束总线 

}


UINT8 CH455_Read( void )//读取按键

{

UINT8 keycode;

   CH455_I2c_Start();                //启动总线

   CH455_I2c_WrByte((UINT8)(CH455_GET_KEY>>7)&CH455_I2C_MASK|0x01|CH455_I2C_ADDR);

   keycode=CH455_I2c_RdByte();      //读取数据

CH455_I2c_Stop();                //结束总线

return keycode;

}

image.png

可以了, 没有地址的概念,三个话需要分别驱动3个,地址都是一样的。 


3个在同一条iic总线上,如何区分是哪一个?请给个例程。


您好,CH455是两线串行接口,并不是标准的IIC接口,所以没有IIC设备地址的概念,无法同时挂在IIC总线下面。如果您主控芯片IO多的话,您可以使用GPIO模拟IIC实现。每两个IO挂一片CH455。


只有登录才能回复,可以选择微信账号登录