| 
 
| 比如我要发送两个报文,都是8字节,是不是这样做的 TxMessage.StdId=0XE0;                              //标识符
 TxMessage.RTR=CAN_RTR_DATA;              //传输消息的帧类型为数据帧
 TxMessage.IDE=CAN_ID_STD;                   //标准帧格式
 TxMessage.DLC=8;                                   //帧长度,单位:字节
 
 
 for(i=0;i<8;i++)
 {TxMessage.Data[i]=TX_DATA[i];        }                         //第一组待传数据
 j=CAN_Transmit(CAN1, &TxMessage);
 
 TxMessage.StdId=0XE1;                          //标识符
 TxMessage.RTR=CAN_RTR_DATA;              //传输消息的帧类型为数据帧
 TxMessage.IDE=CAN_ID_STD;                //标准帧格式
 TxMessage.DLC=8;                         //帧长度,单位:字节
 
 for(i=0;i<8;i++)
 {TxMessage.Data[i]=TX_DATA[i];        }                         //第二组待传数据
 j=CAN_Transmit(CAN1, &TxMessage);
 接收的时候,接收条件这样
 if((RxMessage.IDE == CAN_ID_STD)&& (RxMessage.DLC==8))
 {
 for (i = 0; i < 8; i++)RX_DATA[i]=RxMessage.Data[i];
 RX_DATA[8] =RxMessage.StdId;
 然后过滤报文的时候再根据接收到的RxMessage.StdId的值来确定是那一组数据吗,如果不行应该怎么做,麻烦帮出个主意,谢谢
 | 
 |