配置的是CAN标准帧筛选,如图所示,修改了主函数的CAN_setupMessageObject()函数,但是多次使用CAN工具发送消息,各种ID都尝试了,都可以接收到消息(LED1会闪烁),查看寄存器,MSK的值没有修改。
我的本意是只接收ID为0x607的消息,其他消息被过滤。请问该如何修改配置?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
配置的是CAN标准帧筛选,如图所示,修改了主函数的CAN_setupMessageObject()函数,但是多次使用CAN工具发送消息,各种ID都尝试了,都可以接收到消息(LED1会闪烁),查看寄存器,MSK的值没有修改。
我的本意是只接收ID为0x607的消息,其他消息被过滤。请问该如何修改配置?
你好,不做修改的话例程能否正常运行?
不做修改是扩展ID的筛选,我用不上。我现在再做标准ID的筛选。主要是函数CAN_setupMessageObject()中的msg ID与msgIDMask应该如何配置?就像之前那帖子说的,如何设置这个函数的参数,我才能只收到ID为0x607,0x707,0x187,0x287,0x387,0x487及0x000(这些ID其实就是CANOpen协议的固定几个值,如0x607=0x600(固定)+0x07(节点ID))。
如果是只接收0x607,将mask信息改成0x1FFFFFFF;如果是接收0x600-0x607,改成0x1FC3FFFF
那么会需要用多个Can_SetupMessageObject()分别配置。
参考下这篇帖子看是否有帮助: