【AutoSAR】Uart模块—接收buffer中接收不到数据解决办法

1、问题背景

配置Uart使用DMA收发数据时,使用逻辑分析仪查看回环波形正常,发送Buffer中可以看到数据,接收Buffer中读取不到数据(数据都是0),且Uart模块MCAL配置没有发现错误。

2、调查分析

将另一个工程的Mcu配置导入到这个工程发现Uart通信正常,但是Can模块发送报文会失败,原来工程MCU给CAN分配的频率是4M,将PLAT时钟通过分频改回4M后,发现CAN发送报文正常了,Uart通信又接收不到数据了。


3、解决办法

请教大佬得知修改CAN时钟频率后,时钟频率修改为60M后,要想让CAN的波特率配置为500K,需要配置以下参数计算得出:②=60M/①/(③中4个数据的和)。

要CAN发送报文的采样点为80%,还需要通过简单计算,修改以下配置,使得前三位数据相加之和除以四位数总和为0.8。

4、BSW配置

将STM0_CLK时钟修改为60M,需要将BSW的EcuCpuClock也修改为60。

这里改成60。

5、疑问

为什么Uart时钟选择的时钟是SlOW,但是修改PLAT时钟频率后Uart好用了?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值