单片机/MCU论坛
直播中

笑尽往事

9年用户 878经验值
擅长:可编程逻辑 电源/新能源
私信 关注

PSoc5LP和I2C如何发送和接收10个数据字节的帧?

我在多主从模式下使用 I2CM 组件。
他们发送几个字节的帧数组是没有问题的。 (1 字节、2 字节、3 字节、4 字节...)
但我有时会收到顺序错误的数组帧(2 字节、3 字节、4 字节、1 字节...)。
我如何 CAN 解决它并确保这是一个很好的订购接收数组。

回帖(1)

甘满盛

2024-1-31 17:57:02
要确保正确接收到10个数据字节的帧,并保持正确的顺序,可以按照以下步骤进行操作:

1. 设置PSoc5LP的I2CM组件为I2C的多主从模式,并确认配置正确。
2. 在主控制器(Master)中,先发送发送请求,让从设备(Slave)准备好接收数据。
3. 主控制器发送一帧数据时,可以在帧的前面附加一个长度字节,用于指示发送的数据字节数。从设备根据长度字节来确定接收几个数据字节。
4. 主控制器按照正确的顺序发送数据帧,确保每个帧都包含完整的数据字节数。
5. 从设备在接收到每个数据帧时,检查数据字节数是否与长度字节所指示的相同。
6. 如果主控制器发送的数据帧缺失或乱序到达从设备,可以在从设备内缓存接收到的数据帧,并等待完整的10个数据字节后再进行处理。
7. 从设备可以在接收到完整的10个数据字节后,发送一个确认帧给主控制器,表示成功接收到数据。

通过以上步骤,可以确保正确接收和按顺序处理10个数据字节的帧。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分