查看: 418|回复: 9

arduino的软串口与硬件串口使用时出现随机乱码

[复制链接]

该用户从未签到

发表于 2018-12-25 10:59 | 显示全部楼层 |阅读模式
软串口波特率115200,与蓝牙模块连接。
硬件串口波特率9600,打印输出。
从arduino发送的数据是正确的,蓝牙返回的数据使用USB转TTL检测也是正确的。
但是一旦使用软串口接收数据,再把它打印到屏幕,它就会出现随机的乱码,如下图
哪个大神可以帮忙解决下,谢谢。
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10,11);
String comback_info="";
void setup() {
  // put your setup code here, to run once:
mySerial.begin(115200);
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
mySerial.println("AT+NAME");
delay(1000);
while(mySerial.available())
  comback_info +=(char)mySerial.read();
Serial.println(comback_info);
comback_info="";
delay(2000);
}

串口打印.png

该用户从未签到

 楼主| 发表于 2018-12-25 11:02 | 显示全部楼层
以上正确的打印结果是“+NAME=123”
  • TA的每日心情
    开心
    2019-3-23 11:09
  • 签到天数: 634 天

    [LV.9]以坛为家II

    发表于 2018-12-25 11:09 | 显示全部楼层
    把软串口的波特率改到9600
    打赏作者鼓励一下!

    该用户从未签到

     楼主| 发表于 2018-12-25 11:10 | 显示全部楼层
    单片机菜鸟 发表于 2018-12-25 11:09
    把软串口的波特率改到9600

    蓝牙模块的波特率是115200,改这个有关系?

    该用户从未签到

     楼主| 发表于 2018-12-25 11:21 | 显示全部楼层
    单片机菜鸟 发表于 2018-12-25 11:09
    把软串口的波特率改到9600

    确实现象暂时没有了,问下这是为什么不能使用115200呢?
  • TA的每日心情
    开心
    2019-3-23 11:09
  • 签到天数: 634 天

    [LV.9]以坛为家II

    发表于 2018-12-25 11:26 | 显示全部楼层
    123521j 发表于 2018-12-25 11:21
    确实现象暂时没有了,问下这是为什么不能使用115200呢?

    软串口波特率不要高于9600
    打赏作者鼓励一下!

    该用户从未签到

     楼主| 发表于 2018-12-25 11:31 | 显示全部楼层
    单片机菜鸟 发表于 2018-12-25 11:26
    软串口波特率不要高于9600

    嗯。。。谢谢
  • TA的每日心情
    奋斗
    2018-12-6 11:03
  • 签到天数: 29 天

    [LV.4]偶尔看看III

    发表于 2018-12-25 14:15 | 显示全部楼层

    如果改波特率有效,那么要核实一下蓝牙模块的波特率上限是否支持所选速率。
  • TA的每日心情
    擦汗
    2018-9-19 20:22
  • 签到天数: 47 天

    [LV.5]常住居民I

    发表于 2018-12-25 14:33 | 显示全部楼层
    串口偶尔传输出错是正常
    优化办法:
    1.使用硬串口
    2.降低通信波特率
    3.使用更好更短的连接线
    如果你觉得以上内容帮到了你,你可以打赏支持作者

    该用户从未签到

    发表于 2019-1-11 18:30 | 显示全部楼层
    看了实际的代码,软中断收发是不能同时进行的。
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    为什么这个库已经装好了可是在调用的时候却没有显示
    为什么这个库已经装好了可
    为什么这个库已经装好了可是在调用的时候却没有显示求解决
    BlinkerAT固件不能用
    BlinkerAT固件不能用
    如图,在配网的时候就卡住了,再发指令就没用了,固件和库都是今天刚下载的,以前的也不好
    求助,die端口出问题,只显示com13 com14,识别不了开发板,.....
    求助,die端口出问题,只
    求助,die端口出问题,只显示com13 com14,识别不了开发板,无法上传。 之前正常没事
    UART 传输(字符)不稳定,如何解决数据错位和乱码的情况
    UART 传输(字符)不稳定
    求助大家,我正在写一个 UART 传输多组数据的项目,想要将一端 Arduino 的多组数据通
    #寂寞單親媽媽 小孩剛斷奶 還有奶水喲
    #寂寞單親媽媽 小孩剛斷奶
    #寂寞單親媽媽 小孩剛斷奶 還有奶水喲 美玲164.D.27y 一節4000 兩節7000+送絲襪
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表