板子用的是FRDM-KE06Z,
用
KEXX_DRIVERS_V1.2.1_DEVD\kexx_drv_lib\build\keil\ke06\CA
N_Node1WithInt_demo,
KEXX_DRIVERS_V1.2.1_DEVD\kexx_drv_lib\build\keil\ke06\CA
N_Node2_demo,
KEXX_DRIVERS_V1.2.1_DEVD\kexx_drv_lib\build\keil\ke06\CA
N_Node1_demo,
这三个例程都无法接受到CAN数据,无法进入接受中断函数,但是可以发送CAN数据,用示波器看MCU的
can_rx(PTH2)是有信号的
你好,我按照你说的那样把这四个寄存器改成了这样:
sMSCANConfig.u32IDAR0 = (0xffffffff);
sMSCANConfig.u32IDAR1 = (0xffffffff);
sMSCANConfig.u32IDMR0 = (0xffffffff);
sMSCANConfig.u32IDMR1 = (0xffffffff);
发现是可以接受任意ID,但是发现只有接受到扩展帧的时候才可以完整的接受到ID,接受标准帧是无法完整接受ID,我是按照这样来打印接受到的ID的
printf("ID is 0x%x!\r\n",sRxFrameInfo.ID_Type);
printf("ID1 is 0x%x!\r\n",sRxFrameInfo.ID_Type.ID);
printf("ID2 is 0x%x!\r\n",sRxFrameInfo.ID_Type.StandID);
printf("ID3 is 0x%x!\r\n",sRxFrameInfo.ID_Type.ExtID);