CH32V307 UART5 发送波特率异常问题

FAE你好。我们的单板使用UART5遇到了问题,请帮忙确认。

我们的单板使用24MHz有源时钟,PLL倍频到144MHz,HCLK、APB1、APB2均工作在144MHz。

UART5配置如下:

image.png

image.png

image.png


运行状态下寄存器信息:

image.png


现在遇到的问题是实际发送的波特率不对:(发送的一个数据应该为0x02,发送的波特率高于设定值)

image.png


时钟异常可以排除,输入的24MHz以及同个环境下SDIO的32MHz输出均正常。USART1的波特率115200也正常。


请问下还有什么地方可以排查?谢谢。

试试把检验改为 无校验?

看着像是检验引起的问题。

我试过307的R1开发板使用115200波特率2~8串口都能DMA查询方式正常跑ModbusRTU测试。

串联一模式调试信息输出没测试。


同个单板,串口1试过无校验是OK的,有校验也会出问题。


看了下串口1和串口5,@38400波特率,在无校验位的情况下均正常,开始校验后发送异常接收正常,请FAE确认下是否有配置问题。谢谢。


弱弱的问一句,带校验的数据位宽不应该是9吗?


您好,如果定义了奇校验或偶校验,数据位长度要设置为9位,你可以将数据位长度设置为9位试一下,如下图

image.png


确实是数据长度配置的问题,通信已正常,谢谢。


只有登录才能回复,可以选择微信账号登录