主题:C2000WARE 中讨论的其他器件
工具/软件:
由于消息对象短缺、我需要向单个消息对象接收多条消息、例如、我需要 MO1 接收 1000h 至 100Fh 范围内的消息、需要 MO2 接收 2000h 至 200Fh 范围内的消息、需要 MO3 接收 3000h 至 300Fh 范围内的消息。 我遇到的问题是发送到 MO3 的任何消息都以 MO1 形式结束。 在初始化时、我为每个 MO 设置的寄存器如下(以 MO1 为例、在每次写入寄存器后省略等待 BUSY 标志清除):
CAN_IF2MSK = C0001000h
CAN_IF2ARB = 40001000h
CAN_IF2MCTL = 00101080h
CAN_IF2ARB = C0001000h
最后、CAN_IF2CMD = 00F00001、以传输寄存器设置。
我认为我需要不同的屏蔽或仲裁寄存器设置才能使其正常工作、但我还没有找到合适的组合。