|
本帖最后由 牢星运 于 2024-11-5 14:35 编辑
如题,我想让上位机给AI32发送指定ID的扩展帧。对AI32的两个CAN总线验收寄存器做了如下设置:
CAN_write_reg(MR ,0x01); //退出Reset Mode,设置为单滤波器
CAN_write_reg(ACR0,0x18); //总线验收代码寄存器
CAN_write_reg(ACR1,0x28);
CAN_write_reg(ACR2,0xD0);
CAN_write_reg(ACR3,0xE0);
CAN_write_reg(AMR0,0x00); //总线验收屏蔽寄存器
CAN_write_reg(AMR1,0x00);
CAN_write_reg(AMR2,0x00);
CAN_write_reg(AMR3,0x07);
上位机发送扩展帧的ID是0x1828D0E0,但是单片机就是没有接收到。我是让单片机接收到帧后,就发出数据到电脑,但现在电脑的帧发出去后,单片机就没反应,不会往回发消息。
我把总线验收都屏蔽后,就能正常实现上述功能,就是把AMR都设成0xFF
请问我是哪里设置错误了吗?
|
|