本帖最后由 coslight 于 2014-9-12 08:38 编辑
根据官方提供的例程,现在CAN总线的收发没有问题了,已经测试了,然后想设置如何让K20可以接收到任意ID,无论标准帧还是扩展帧。不知道有没有人研究过的给个提示。
通过版主和网友帮助,问题以解决,在例程基础上的解决方法:
通过设置:
CANx->RX14MASK = 0;
CANx->RX15MASK = 0;
CANx->RXFGMASK = 0;
同时必须注释掉:
CANx->MCR |= CAN_MCR_SRXDIS_MASK | /* SRXDIS = 1 (Self Reception Disable)*/
// CAN_MCR_IRMQ_MASK | /* IRQM = 1 (Individual Rx Msk and Q) */
CAN_MCR_MAXMB(15) ; /* Number of Mailboxes is 16 */
共同配合,已经成功的实现了在RXMB14接收任意ID的信息。
另外,将RXMB初始化为接收扩展帧,可以成功的接收到标准帧和扩展帧。
CAN_RxObject (CAN0, 14, 0, 1); |