CPU为STM32F103VE,两个I2C从机分别为24LC02(器件地址0xa0)和PCF8563(器件地址0xa2),挂在I2C1上。
uCOS II, I2C1的收发都采用中断方式。
故障现象:
当总线上只挂其中一个器件时,读写都很正常。iic总线时钟设为300KHz也能正常。
但是一旦两个器件都焊接时,则会出现数据错误。
例如:读PCF8563时钟时,一次读写7个字节(秒、分、时、日、月、年、星期)则秒、分、时读出总是错误的。该时钟从芯片地址0x02开始。而24LC02则总能读写正确。很令人费解。
有哪位同仁做过类似的开发,望指点一二。
我曾经试过更换上拉电阻,原为10K,改为1K,仍然不行。 |