打印
[其他芯片]

CH579串口传输文件丢数据如何处理?

[复制链接]
2803|53
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
归依龙井|  楼主 | 2023-8-31 09:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CH579M串口1接收数据大于200K的时候会出现丢数据的情况(我是直接用官方的串口例程,接收到数据立马发送出去)但现在上位机接收到的数据和发送的文件大小差100Byte左右,这个串口又没法用RTS流控,请问有什么好的解决思路吗?

使用特权

评论回复
沙发
JayWell| | 2023-8-31 17:59 | 只看该作者
先关闭打印,打印需要耗时;使用环形缓冲区先行缓存数据,可以参考CH573EVT中的BLE_UART代码编写环形缓存。CH579的串口0才有流控,也可以考虑更换串口。

使用特权

评论回复
板凳
wangpe| | 2023-8-31 19:30 | 只看该作者
更换串口吧

使用特权

评论回复
地板
tpgf| | 2023-9-6 13:35 | 只看该作者
数据的丢失有规律性吗 还是随机的啊

使用特权

评论回复
5
qcliu| | 2023-9-6 14:13 | 只看该作者
是否可以考虑使用双缓冲机制呢

使用特权

评论回复
6
drer| | 2023-9-6 15:02 | 只看该作者
你这个数据差的真的有点多 是使用什么方式进行数据接收的呢

使用特权

评论回复
7
wiba| | 2023-9-6 19:42 | 只看该作者
在接收和发送之间设置一下延时时间

使用特权

评论回复
8
kxsi| | 2023-9-6 20:11 | 只看该作者
可以自己定义通讯内容 设定包头包尾来确定是否接收完成

使用特权

评论回复
9
coshi| | 2023-9-6 20:50 | 只看该作者
楼主的串口传输是单双工的吧 这样会不会产生冲突呢

使用特权

评论回复
10
chenjun89| | 2023-9-6 21:21 | 只看该作者
和流控没关系,应该还是和你软件接收数据处理有关。

使用特权

评论回复
11
chenqianqian| | 2023-9-7 08:20 | 只看该作者
这个是随机的吗?还是固定现象。

使用特权

评论回复
12
mnynt121| | 2023-9-7 16:39 | 只看该作者
将两台PC间波特率设置为一样的大小。

使用特权

评论回复
13
wangdezhi| | 2023-9-7 16:43 | 只看该作者
可以考虑使用其他串口通信芯片或者调整通信协议

使用特权

评论回复
14
hudi008| | 2023-9-7 16:53 | 只看该作者
增加停止位的数量,例如从1位增加到2位,可以提供更多的时间给接收端进行数据的采样和处理,以减少数据丢失的风险。

使用特权

评论回复
15
robincotton| | 2023-9-7 17:00 | 只看该作者
发送和接收端都采用合适的校验方式,如奇偶校验、CRC校验

使用特权

评论回复
16
uytyu| | 2023-9-7 17:13 | 只看该作者
提高应用程序和驱动程序的优先级,以增加对数据的接收和处理速度。

使用特权

评论回复
17
belindagraham| | 2023-9-7 17:16 | 只看该作者
可以检查波特率设置是否正确              

使用特权

评论回复
18
earlmax| | 2023-9-7 17:23 | 只看该作者
将串口中断优先级设为最高。              

使用特权

评论回复
19
zerorobert| | 2023-9-9 16:46 | 只看该作者
降低串口的波特率              

使用特权

评论回复
20
claretttt| | 2023-9-9 17:05 | 只看该作者
在接收端,可以设置合适的接收缓冲区大小。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

17

帖子

0

粉丝