ST意法半导体
直播中

学电超人

12年用户 771经验值
擅长:微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制
私信 关注
[问答]

请问Controller核心使用CAN传输和UART1/LPUART1并行使用有什么限制吗?

目前我们在一个项目中使用 STM32G473CC 控制器,我们在其中使用 CAN 模块(CAN 2.0 模式)以及 UART1/LPUART1 等外围设备。
我们在 CAN 驱动程序之上集成了 CAN open stack 进行通信,另一方面我们使用 UART1 进行操作。我们面临的问题是,当 UART1/LPUART1 与 CAN 传输并行运行时,会出现 CAN 传输错误。这导致FDCAN_ECR寄存器中的传输错误计数器递增并最终设置 BUSOFF 位。
如果 UART1/LPUART1 未运行,则 CAN 运行稳定。
Controller核心使用CAN传输和UART1/LPUART1并行使用有什么限制吗?
传输帧中可能发生传输错误的情况是什么?





回帖(1)

h1654155275.5889

2022-12-12 10:50:40
我在代码中发现了问题。我不小心设置了用于 CAN 终端的 GPIO。我将引脚用于调试目的,但后来更改为 CAN STB。但忘记更改引脚设置。
所以在 UART isr 内部,我切换了在调试宏中实现的引脚。一旦排除它起作用的宏。
它在代码中的愚蠢错误。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分