我正在研究 SPC560P 探索板。
我已经为 FlexCAN 测试导入了测试应用程序“SPC560Pxx RLACAN Test Applica
tion for Discovery”。在这个 FlexCAN0 中使用了环回模式并且它正在工作。
但是在禁用环回模式后,我看不到带有范围的 CAN_TX 引脚上的任何数据。
我配置了:
- b[0] 作为 CAN0TXD 输出,b[1] 作为 pinmap 向导中的CAN0RXD输入
- 禁用环回 模式
- 启用FlexCAN0 使用外部时钟
- 设置:PressDive =3,PropSeg=2,PSEG1=4,PSEG2=7
在我启动应用程序后,程序卡在传输 while 循环中:
- while (can_lld_transmit(&CAND1,txmailbox, &txmsg)==CAN_MSG_WAIT){
- }
似乎
can_lld_is_tx_empty 函数返回 FALSE 并且它破坏了
can_lld_transmit函数。
邮箱是否需要任何额外的配置或者我错误地配置了 CAN 时钟?
感谢您的帮助,很抱歉提出了很多问题,但我是 32 位控制器编程的新手。