查看: 160|回复: 5

[未解决] Arduino软件串口接收数据有部分错误

[复制链接]

该用户从未签到

发表于 2019-4-15 17:48 | 显示全部楼层 |阅读模式
使用Arduino的软件串口,因为软件串口默认缓冲数据大小为64,但接收的数据大概有100个,所以在头文件改了#define _SS_MAX_RX_BUFF 256 // RX buffer size
接收的100多个字节中,有5个左右是错的,要么大了1,要么小了1,怎么解决?求大神帮助
1555321649(1).png

该用户从未签到

 楼主| 发表于 2019-4-15 17:51 | 显示全部楼层
图片中上面的数据是用USB转TTL串口助手从中间调出来的
下面的数据是Arduino接收并打印出来的数据
接收到的数据未进行任何处理,只是打印出来

该用户从未签到

发表于 2019-4-15 18:58 | 显示全部楼层
你有USB转TTL的小板吗?

该用户从未签到

 楼主| 发表于 2019-4-16 08:58 | 显示全部楼层
cluse 发表于 2019-4-15 18:58
你有USB转TTL的小板吗?

有的,图片中上面的数据就是USB转TTL输给串口助手的数据,下面的是Arduino接收到的数据

该用户从未签到

 楼主| 发表于 2019-4-16 17:01 | 显示全部楼层
有前辈帮忙解决啦!原因是串口接收一段数据可能需要多次进入串口读取函数里(一段数据分成多个小段,不是单个字节),当第一小段串口读取后如果打印数据,就会影响下一次的接收,影响累积后,当这段数据接收完成就会对个别数据造成影响。所以要把所有打印都关掉,确认数据接收完毕再打印

该用户从未签到

发表于 2019-4-16 20:20 | 显示全部楼层
寮寮HHJ 发表于 2019-4-16 08:58
有的,图片中上面的数据就是USB转TTL输给串口助手的数据,下面的是Arduino接收到的数据 ...

用SerialPassthrough的例子,把里面的串口改为软串口。

电脑端用串口调试工具定时发送,看回传的信息,就知道误码率又多高了。
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

热门推荐

arduino温湿度串口监视器显示问题
arduino温湿度串口监视器
本人刚学arduino,遇到一些技术问题,希望大佬们帮我看一下程序,具体就是温湿度开始
全过程展示:PWM自定义、测速、PID调速、PID自整定
全过程展示:PWM自定义、
有一天,电控小白在某宝上买来了一块Arduino Mega2560、一款直流电机。小白想:“这款
关于数据同步遇到的问题
关于数据同步遇到的问题
首先,下载了DHT-sensor-library-master.zip 并解压到libraries文件夹中(图1) 其次
blinker设备连接一会后自动断开
blinker设备连接一会后自
[mw_shl_code=arduino,true]#define BLINKER_WIFI #define BLINKER_PRINT Serial #
学生智能打卡系统(接入blinker)
学生智能打卡系统(接入bl
【项目名称】学生智能打卡系统(接入blinker) 一.感谢各位大佬 首先感谢社区的管理员
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
快速回复 返回顶部 返回列表