CH32V103C8T6串口接收乱码的问题

资源使用:TIM1(产生1mS中数用于计数),TIM2(产生10mS计数),USART1用于DEBU——115200,USART3(用于接入无线模块9600),时钟72M,使用了外部晶振;

问题:USART3接收数据是乱码?

image.png

中断:image.png

处理:

image.pngimage.png

请问问题有可能出现在什么地方?

您好,有可能是数据类型不一致导致的,数组定义的类型为u8类型,打印的时候打印的是字符或字符串,数据类型不一致,会有可能出现打印乱码的问题


您好,u8只是告诉编译器数组内元素所占内存的大小吧,应该和打印这个没个没有什么关系吧?打印字符串只是碰到\0就结束吧,不知道我理解的对不对。我把接收到的内容按HEX打印,也不对啊


您好,不好意思,下午理解错了,正常打印会有问题么,不打印接收的数据。此外,可以检查一下使用的外部晶振大小和程序中定义的晶振大小是否匹配,时钟配置是否有问题;串口接线是否可靠,GND线是否连接,或者换个串口工具试一下。后续若有问题,可通过邮箱和我沟通(lzs@wch.cn)。



嗯。跟我发现的差不多,我也是乱码。

而且也是部分正常、部分乱码;开始正常的多,打印一部分正常的少。


我用 LinkE 的自带串口连到 EVB 的。不过我是 103R8


5楼,你的解决了没


4楼,我用51单片机验证了无线模块也没有问题

image.png

image.png


您好,看了一下你的程序,有几点注意事项已邮件回复你,程序可以按照注意事项配置一下,我们这边已有同事加你微信,后续问题可通过微信详细沟通一下


问题解决了,是无线模块的问题,用笔记本电脑在不使用外接电源的情况下,输出就乱码了。感谢泌恒的技术帮忙解决问题。


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