走过路过的朋友:FIFO有两个报文,怎么同时处理这两个数据,要根据两个报文数据内容进行下一步动作,调用两次CAN_Receive吗?还是一次就行?一次调用结构体是一样的不会混淆嘛?if (CAN1->RF0R&=0x10)
{
CAN_Receive(CAN1,CAN_FIFO0,&RxMessage);
if((RxMessage.ExtId==xxxxxx,RxMessage.Data[0]==0x20)&&(RxMessage.ExtId==xxxxxx,RxMessage.Data[0]==0x20))
{
TxMessage.Data[0]=0x20;
TransmitMailbox=CAN_Transmit(CAN1,&TxMessage);
}
}这样能行吗?请求指教
写在一个条件语句中吗?
if (CAN1->RF0R&=0x10)
{
CAN_Receive(CAN1,CAN_FIFO0,&RxMessage);
CAN_Receive(CAN1,CAN_FIFO0,&RxMessage);
if((RxMessage.ExtId==xxxxxx,RxMessage.Data[0]==0x20)&&(RxMessage.ExtId==xxxxxx,RxMessage.Data[0]==0x20))
{
TxMessage.Data[0]=0x20;
TransmitMailbox=CAN_Transmit(CAN1,&TxMessage);
}
一周热门 更多>