大家好
我正在使用 S32 Design Studio 3.6.5 和 FlexCAN IP 示例处理 S32K344 MCU。
我能够在内部环回模式下成功运行 FlexCAN 示例(并验证 Rx 缓冲区上的数据),但当我将其配置为用户/正常模式时,在物理 CAN 引脚(CAN0 TX/RX)上看不到任何活动。此外,生成的代码中还存在语法错误。
生成代码后:
以下是我的设置详情以及我迄今为止所做的尝试。
我尝试对 CAN0 引脚进行如下明确配置:
采取的措施
如果能就正确的 CAN 实例、引脚复用或已知的工具问题提供指导,我们将不胜感激。
更新:通过在外围设备 > 元器件中添加端口,并将引脚添加为 MSCR 索引,我得以生成正确的代码。
但在 PTA27 引脚上无法获得 CAN0 Tx 信号的问题依然存在。我用 Dio GPIO 示例切换了 PTA27,效果很好,但在 CAN FD 上却没有显示任何信号。
PFA 更新项目 zip。
嗨@pariks_hit
请参阅附件中的演示,RTD 为 3.0.0和 S32K3X4EVB。
HI
谢谢你的压缩包,我使用了中断,并像你的主文件那样初始化了 STB 和 EN 引脚,现在我可以看到 Tx 引脚上有东西了。不过,我发现它的 CAN ERROR 信号多于 Saleae 中的实际 CAN 信号(截图附后)。我尝试使用传统 CAN 而不是 CAN FD(在这种情况下,我只能看到 CAN ERROR 信号,而看不到其他信号)。在 CAN FD 中,改变有效载荷大小也无济于事。我还尝试像您的项目那样配置引脚 PTA6 和 PTA7,而不是 PTA27 和 PTA28,但两者的 CAN0_Tx 波形相同,因此我认为这不是引脚问题。我还附上了我的项目压缩包,以备不时之需。
请帮帮我。
您好,
感谢您的确认,看来问题出在我在 Saleae 逻辑分析仪上设置的比特率上,我将其设置为 500k,现在我可以看到 CAN 帧了。