Thread 中讨论的其他器件:SYSBIOS
您好!
F280049上的 CAN 控制器有一个有趣的问题。 我使用的是使用 GPIO32和 GPIO18连接的 CAN 控制器"A"。 使用不带环回的 CAN 控制器时、我没有从 GPIO32/CANA_TX 获取任何数据、但是、如果我启用外部环回、我可以使用 PCAN Explorer 在 PC 上从外部接收 CAN 消息。 我通过直接查看多路复用器寄存器检查了 GPIO18和 GPIO32的多路复用器配置、并且它们配置正确。 鉴于这些信息、我知道以下几点
1) 1)位速率配置正确。
2)我的代码正在发送数据包、我可以正确接收数据包。 因此、到 CAN 收发器的发送路径(包括 CAN 收发器)工作正常。
以下是我使用 SYSBIOS 的测试代码、但我认为这与此问题无关。
//CANA -> CAN0 Pinmux
GPIO_setPinConfig (GPIO_18_CANA_RX);
GPIO_setPinConfig (GPIO_32_CANA_TX);
//CAN0初始化
CAN_initModule (CANA_base);
//启用 CAN 测试模式
CAN_enableTestMode (CANA_base、CAN_TEST_EXL);
//有关如何设置的信息,请参阅驱动程序库用户指南
//更严格的计时控制。 此外、请参阅器件数据表
//了解有关 CAN 模块计时的更多信息。
//
CAN_setBitRate (CANA_base、DEVICE_SYSCLK_FREQ、125000、10);
//
//在 CAN 外设上启用中断。
//
CAN_enableInterrupt (CANA_base、CAN_INT_IE0 | CAN_INT_ERROR |
CAN_INT_STATUS);
//
//启用 CAN 中断信号
//
CAN_enableGlobalInterrupt (CANA_base、CAN_GLOBAL_INT_CANINT0);
//
//启用 CAN 发送的自动重试。
//
CAN_enableRetry (CANA_base);
//
//配置基于设备编号的消息对象。
//
CANDeviceNumSet (CAN_DEVNO_RMTPHS);
//
//启动可以模块 A 操作
//
CAN_startModule (CANA_base);
请提供任何帮助。
谢谢、
Richard。