CH32V203C8T6波特率如何设置

如题,如何修改USART2串口波特率为1.2M,根据手册的计算公式,和代码中的变量定义

image.png

image.png

直接修改USART_Printf_Init(115200);为1.2M没有效果,还有PCLK1的数值定义我并没有找到是多少,但我以115200倒推的结果很离谱

这个公式中需要注意单位的换算吗?能否举一个简单的计算例子

我使用的系统时钟为72MHZ

image.png

你好,我们以1.2M来计算,假设你串口2工作在36M时钟下

由收发器的波特率 =FCLK/(16*USARTDIV)得到USARTDIV=1.875,

后根据USARTDIV = DIV_M+(DIV_F/16),可得到,DIV_M=1,DIV_F=0.875*16=14.所以是可以得到1.2M波特率的。可参考附件例程测试。

icon_rar.gifv203TIM3中断0.rar




具体修改哪个文件里面的参数可以更改波特率(也就是DIV_M还有DIV_F的值),我看您发的文件里面这个USART_BRR_DIV_Fraction数值与我的相同,只需要修改USART_Printf_Init()这个参数就可以了吗?,还有这个PCLK1的具体数值在哪个文件里面有定义

image.png


你好,你所说的那两个值就是下面两个寄存器的值。想设置某个波特率直接在USART_Printf_Init()函数里填写相应参数就可以,由USART_Init()函数自主完成计算,决定往这两个寄存器存入相应的值,所有不需要你这边设置什么

image.png



还有使用你发的历程,烧录到CH32V203C8T6中,接收乱码


image.png

但在修改波特率为115200后,乱码没有了

image.png


刚刚测试了一下,0.5M以下的都可以正常接收,速率高了就会乱码,硬件测试环境会有影响吗?您能测试一下v203C8T6在你那边环境可以正常接收不


你好,WCHLINK暂不支持非标准波特率可换个如340再试一下,如还不行建议再换个串口调试助手试下,我这边是测试通过再发给你这边的。后续再有问题可邮箱与我沟通yrl@wch.cn

image.png


更换CH340后正常接收


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