关于串口收发乱码问题解决办法
本帖最后由 vip2128 于 2024-9-21 09:59 编辑测试了01A-串口1中断收发-8PIN-C语言 ,下载了hex,多次测试都是乱码, 文本模式发送则无问题,
搜索坛里的关于乱码的多种解决办法照做也是乱码
啥方法都搞过了照样乱码,无意之中在波特率115200 手动重输了一次,再给芯片供电接收正常了
然后又再下载,又是乱码,重输115200 又好了,搞不懂是啥回事 ,烧录器用的340,原先是烧录8266-01s
不带晶振,如果是烧录器的问题,那为何在文本模式发送数据是正常的.,
接下来把芯片供电多次断了又开,又带了一个小小问题
正常的话,第一位收到是00,如果接收到其它码,如FF FC 则数据的第一位显示会乱码
代码贴出来,看看你是怎么发的 建议使用官方工具(Link 1D、一箭双雕)或使用AI8H8K64U/AI8H2K12U制作下载工具
带电插拔的噪声会导致错误的串口数据,忽略即可
看现象,应该和波特率、误差等没有关系,因为MCU发的“STC8G1K08/08A-8PIN UART1 Test!”字符串是正常的啊。
下载的HEX是官方位修改过的吗?
啥代码?直接烧原装hex,都忘记在坛里哪里下载的了,, 工程导入keil编译hex 也是一样,
反正就是在本就显示波特率115200的地方,在键盘手动输入115200,芯片重供电
就没乱码了
21cnsound 发表于 2024-9-21 00:49
看现象,应该和波特率、误差等没有关系,因为MCU发的“STC8G1K08/08A-8PIN UART1 Test!”字符串是正常的啊 ...
烧的是原装hex ,1楼 第一张图 前几行就是乱码,正常显示就是“STC8G1K08/08A......... “
中间的是helo 是在下面文本模式输入发送数据的,接收也是helo,如果波特率不对,接收会不一样
最后一行显示正常,是在手动键盘重输入115200后,显示才正常,没乱码。
以前偶尔遇过,我也不知道如何处理。 也遇见过这个问题,但是hex模式显示就第一个字节异常,之后就正常了。 本质还是代码严谨性的问题,比如串口初始化和IO初始化的先后顺序不合理,比如串口通信双方的上电不同步,都会产生一个伪起始位,接收侧的表现就是收到一个不伦不类的单字节误码。 加油
页:
[1]
2