请教关于CAN数据的先后顺序
在STC32G试验箱9.6的例程49中,CAN的结构是这样定义的:typedef struct
{
u8 DLC:4; //Êý¾Ý³¤¶È, bit0~bit3
u8 :2; //¿ÕÊý¾Ý, bit4~bit5
u8 RTR:1; //Ö¡ÀàÐÍ, bit6
u8 FF:1; //Ö¡¸ñʽ, bit7
u32 ID; //CAN ID
u8 DataBuffer;//Êý¾Ý»º´æ
}CAN_DataDef;
CAN_DataDef CAN1_Tx;
CAN_DataDef CAN1_Rx;
在程序中是这样用的:
if(B_CanRead)
{
B_CanRead = 0;
n = CanReadMsg(CAN1_Rx); //¶ÁÈ¡½ÓÊÕÄÚÈÝ
if(n>0)
{
for(i=0;i<n;i++)
{
CanSendMsg(&CAN1_Rx);//CAN×ÜÏßÔÑù·µ»Ø
}
}
}
假设n=5,那么收到的数据放在CAN1_Rx~CAN1_Rx中,请问先收到的数据是放在CAN1_Rx中还是CAN1_Rx中,谢谢。
我感觉先收到的数据是放在CAN1_Rx中,但是程序运行结果不对,有些疑惑。 先收到的数据放在CAN1_Rx中,可用例程将收取内容通过串口一一打印出来查看。 本帖最后由 newlined 于 2024-6-20 17:21 编辑
好的,谢谢乘风老师的解答。
页:
[1]