瑞芯微Rockchip开发者社区
直播中

王芳

7年用户 1418经验值
私信 关注
[问答]

怎样去解决RK3288串口接收数据不连续的问题呢

我们用跳线帽把RK3288 uart1的收发端短接,然后通过一个串口工具来测试,在发送端发送一行的数据,但是在接收端接收到的数据分成好几行了。数据不会丢失,可以完全读到,就是读到的数据不连续,会自动换行,而且换行的位置不确定。
波特率设置得越低,换行的的情况越严重。

假如发送一个字符串“qwertyuiopasdfghjklzxcvbnm”,接收到的可能是:

波特率为115200时:
qwert
yuiopasdfghjklzxcvbnm

波特率为9600时:
qwe
rtyuio
pasdfghjklzxcvbnm

我们也通过连接电脑测试过,发送端是没有问题的,发送到电脑显示是正常的一行数据,就接收端有问题,接收到的数据不连续。

回帖(6)

贾虎世

2022-8-1 16:39:47
你那边可以试一下uart rx tx短接,然后进行自发自收,看一下是否有问题,同时可以换一下其他PC上的串口助手软件看是否有问题。
举报

王芳

2022-8-1 16:39:57
已经测试过tx,rx短接了,PC端串口助手和Android的串口工具也换过几个测试了,效果都是一样,RK3288也试过刷5.1和4.4的固件,读到的数据还是会分行
举报

h1654155275.5916

2022-8-1 16:40:10
你所说的换行,只是你的收发工具在每次收到消息后自动换行导致的,实际应该是并不存在换行字符的。你可以用串口抓包软件AccessPort137抓包看下实际收到的内容
举报

王艳

2022-8-1 16:40:19
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

王芳

2022-8-1 16:40:29
是的,接收到的数据确实是不存在换行符的,串口工具是读到数据之后,就打印出来,每一段数据后面自动换行,现在问题是一个字符串在3288上面分了好几段才能读到,同样的工具软件在其它平台上测试都没有这种问题,都能够一次性读完整个字符串再打印出来。
举报

张磊

2022-8-1 16:40:42
一个主板比如3个232串口,是部分出现这个问题,还是i3ge串口都出现这个问题
举报

更多回帖

发帖
×
20
完善资料,
赚取积分