I2C总线上挂了4片MCU,一片stm8207K6(A)连接上位机,另外三片stm8f103连接终端设备(B1,B2,B3),整个系统的功能是上位机轮询终端设备,上位机发送数据包到A,然后A通过I2C总线将数据包发送到B1、B2、B3,然后B3将数据包发送到终端设备,终端设备根据数据包解析反过来向来的路线回包。I2C总线设备采用的是谁有数据包发送谁就做主机。但是这样发现,I2C总线总是会丢包,有时候还进入总线错误,有时候还会进入空中断(就是状态寄存器都为0的情况下)。有时候还会进入接收不为空,但是检测到停止条件,这时候读取数据是对的(数据包最后的一个字节),总之就是出现莫名其妙的错误。
此帖出自
小平头技术问答
一周热门 更多>