1839327_zh-CN

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

1839327_zh-CN

1839327_zh-CN

MPC5777C MCAN 卡在 TX 缓冲区请求待处理状态

Hello,

我正在尝试在我们的定制板上使用 M_CAN 接口。我尝试使用该论坛提供的其中一个示例中的源代码片段:

https://community.nxp.com/t5/MPC5xxx-Knowledge-Base/Example-MPC5777C-MCAN-simpleTXRX-GHS616/ta-p/110...

我只是使用 M_CAN1 而不是 M_CAN0 来发送消息,接收器只是一个 Kvaser 接口。我已将引脚 195 和 196 配置为备用功能 (0x3),以将它们用作 M_CAN1 接口。外部振荡器用作接口时钟。

我面临的问题是,当我尝试从专用缓冲区发送任何消息时,我可以看到缓冲区 0 的位在 TXBRP 中设置,但消息从未发送,并且 TX 引脚的状态也从未改变,它一直保持高位。我可以看到消息 RAM 已使用帧数据进行更新,并且我还测试了当使用 TEST 寄存器时我可以设置和重置 TX 引脚状态。我确实看不到寄存器中的任何错误(见附图)。

知道为什么界面从不发送消息吗?如果需要更多信息,请随时询问。

此致


回复:MPC5777C MCAN卡在TX缓冲区请求待处理状态

Hello,

是的,看起来软件中有一个错误,导致 IMUX 寄存器被错误的值覆盖,从而为 M_CAN1 RX 引脚选择了错误的输入。

谢谢你的帮助。

此致

回复:MPC5777C MCAN卡在TX缓冲区请求待处理状态

Hi,

寄存器值的另一个提示是:离开初始化模式后,PSR[ACT] 仍然为 0,这表明模块未与总线同步,因此无法启动传输。这可能是由于引脚配置错误或 RX 引脚显示为低电平。您可以尝试断开收发器并将 TX/RX 引脚连接在一起。
您是否也设置了相应的 IMUX 寄存器来选择您正在使用的引脚?

PetrS_0-1712659366643.png

对于 3N45H 示例,您可以参考https://community.nxp.com/docs/DOC-342013

BR, Petr

回复:MPC5777C MCAN卡在TX缓冲区请求待处理状态

Hello,

是 3N45H。

此致

回复:MPC5777C MCAN卡在TX缓冲区请求待处理状态

Hi,

我从寄存器视图看到检测到了 ACK 错误,但在这种情况下我希望设置错误计数器并且 TX 信号应该是可见的。
使用的MCU掩膜组是什么?实际上,2N45H和3N45H之间差别不大。

BR, Petr

标记 (1)
无评分
版本历史
最后更新:
‎01-06-2026 01:32 AM
更新人: