扩展格式下接收ID域一直不对
——具体不对现象是?是否被读成了之前标准帧的ID?
应用在获取报文ID时需要注意参考BSP filter工程的方式,要先判定id_type,然后再读取对应的ID,
void USBFS_L_CAN1_RX0_IRQHandler (void)
{
can_rx_message_type rx_message_struct;
uint32_t id_index = 0;
if(can_flag_get(CAN1,CAN_RF0MN_FLAG) != RESET)
{
can_message_receive(CAN1, CAN_RX_FIFO0, &rx_message_struct);
if(rx_message_struct.id_type == CAN_ID_STANDARD)
id_index = rx_message_struct.standard_id;
else if(rx_message_struct.id_type == CAN_ID_EXTENDED)
id_index = rx_message_struct.extended_id;
}
}
|