vip2128 发表于 2024-9-20 21:24:12

关于串口收发乱码问题解决办法

本帖最后由 vip2128 于 2024-9-21 09:59 编辑

   
    测试了01A-串口1中断收发-8PIN-C语言 ,下载了hex,多次测试都是乱码, 文本模式发送则无问题,
搜索坛里的关于乱码的多种解决办法照做也是乱码





啥方法都搞过了照样乱码,无意之中在波特率115200 手动重输了一次,再给芯片供电接收正常了
然后又再下载,又是乱码,重输115200 又好了,搞不懂是啥回事 ,烧录器用的340,原先是烧录8266-01s
不带晶振,如果是烧录器的问题,那为何在文本模式发送数据是正常的.,


接下来把芯片供电多次断了又开,又带了一个小小问题




正常的话,第一位收到是00,如果接收到其它码,如FF FC 则数据的第一位显示会乱码










晓飛飛 发表于 2024-9-20 23:00:40

代码贴出来,看看你是怎么发的

DebugLab 发表于 2024-9-20 23:33:33

建议使用官方工具(Link 1D、一箭双雕)或使用AI8H8K64U/AI8H2K12U制作下载工具
带电插拔的噪声会导致错误的串口数据,忽略即可

21cnsound 发表于 2024-9-21 00:49:46

看现象,应该和波特率、误差等没有关系,因为MCU发的“STC8G1K08/08A-8PIN UART1 Test!”字符串是正常的啊。

下载的HEX是官方位修改过的吗?

vip2128 发表于 2024-9-21 01:05:35



啥代码?直接烧原装hex,都忘记在坛里哪里下载的了,, 工程导入keil编译hex 也是一样,
反正就是在本就显示波特率115200的地方,在键盘手动输入115200,芯片重供电
就没乱码了








vip2128 发表于 2024-9-21 01:42:46

21cnsound 发表于 2024-9-21 00:49
看现象,应该和波特率、误差等没有关系,因为MCU发的“STC8G1K08/08A-8PIN UART1 Test!”字符串是正常的啊 ...

烧的是原装hex ,1楼 第一张图 前几行就是乱码,正常显示就是“STC8G1K08/08A......... “
中间的是helo 是在下面文本模式输入发送数据的,接收也是helo,如果波特率不对,接收会不一样
最后一行显示正常,是在手动键盘重输入115200后,显示才正常,没乱码。



xxkj2010 发表于 2024-9-21 08:25:08

以前偶尔遇过,我也不知道如何处理。

soma 发表于 2024-9-21 09:24:37

也遇见过这个问题,但是hex模式显示就第一个字节异常,之后就正常了。

晓飛飛 发表于 2024-9-24 23:36:14

本质还是代码严谨性的问题,比如串口初始化和IO初始化的先后顺序不合理,比如串口通信双方的上电不同步,都会产生一个伪起始位,接收侧的表现就是收到一个不伦不类的单字节误码。

江上酒酒 发表于 2024-10-5 11:46:11

加油
页: [1] 2
查看完整版本: 关于串口收发乱码问题解决办法