2297833_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2297833_zh-CN

2297833_zh-CN

S32K344 MCAL:CAN FD TX 可以正常工作(64 字节)但是 CAN FD 帧未触发 RX 指示

大家好

我正在使用 S32K344 和 NXP AUTOSAR MCAL CANIF (FlexCAN)。
我遇到了 CAN FD 接收问题。

环境:
-MCU:S32K344(WB 电动板)-RTD:5_0_0_D2408_ASR_REL_4_7_REV_0000_2024100
2-ASR:ASR_REL_4_7_REV_0000


potato_0-1769057275222.pngpotato_0-1769057275222.pngpotato_1-1769057284390.pngpotato_1-1769057284390.pngpotato_2-1769057298827.pngpotato_2-1769057298827.png

potato_3-1769057323065.pngpotato_3-1769057323065.png


当前行为:
- CAN FD 传输正常。
→ 64 字节的 CAN FD 帧成功传输。
-经典 CAN 接收(8 字节)工作正常。
→ CanIf_RxIndication()按预期被调用。
- CAN FD 接收不起作用。
→ 向该节点发送 CAN FD 帧时,不调用 RxIndication。


- 作为额外的检查,我手动修改了生成的代码,设置为

DataInfo.fd_enable=FALSE -> TRUE;
DataInfo.data_length=0U -> 64U

- 但是,CAN FD 接收仍然无法正常工作。

问题:
- FlexCAN MCAL 中的 CAN FD 接收是否需要任何额外配置?
- CAN FD 接收是否支持普通 Rx 报文缓冲区,还是需要增强型 FIFO?
- S32K344 MCAL 上的 CAN FD Rx 是否有已知的限制或约束?

任何指导或参考将不胜感激。


Re: S32K344 MCAL: CAN FD TX works (64 bytes) but RX indication not triggered for CAN FD frames感谢您的支持。

这个问题不是 MCAL 或 RX 配置的问题。
一切正常。

根本原因是发射器发送的是经典 CAN 帧,
而不是 CAN FD 帧。
因此,接收到的数据长度始终为 8 字节。
将发射器更改为发送 CAN FD 帧后,64 字节的 RX 指示可以
正常工作。

再次感谢。
Re: S32K344 MCAL: CAN FD TX works (64 bytes) but RX indication not triggered for CAN FD frames

嗨,@土豆

感谢您分享您的配置。

Q1. 不会,只要两个节点都配置为 CANFD。

Q2. & Q3.

由于您在中断模式下使用 CAN 实例,请在调用 CAN 接收之前确认中断控制器(平台)的配置是否正确(CAN0 IRQ)和初始化。

你可以使用社区示例作为参考:

致以最诚挚的问候,
Julián

Tags (1)
No ratings
Version history
Last update:
‎01-23-2026 05:21 AM
Updated by: