打印
[其他芯片]

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

[复制链接]
楼主: 归依龙井
手机看帖
扫描二维码
随时随地手机跟帖
21
backlugin| | 2023-9-9 17:17 | 只看该作者 回帖奖励 |倒序浏览
通过降低波特率,可以增加每个数据位的传输时间,提高数据的可靠性。

使用特权

评论回复
22
elsaflower| | 2023-9-9 17:29 | 只看该作者
将大文件分成多个小包进行传输,并在接收端确认每个包是否成功接收

使用特权

评论回复
23
janewood| | 2023-9-9 17:37 | 只看该作者
确保串口传输的物理连接准确可靠。检查线缆、连接头、电气信号等,确保没有松动、接触不良等问题。

使用特权

评论回复
24
usysm| | 2023-9-9 17:46 | 只看该作者
如果数据量大,UART接收中断函数耗时、优先级低等情况下容易丢失数据。这可以通过减少不必要的耗时,合理分配中断优先级,以及在中断前清除标志位等方法解决。

使用特权

评论回复
25
51xlf| | 2023-9-9 17:56 | 只看该作者
如果数据传输速度较快,接收缓冲区容量较小可能无法及时接收全部数据导致丢失。增加缓冲区的容量可以一定程度上解决问题。

使用特权

评论回复
26
10299823| | 2023-9-9 18:04 | 只看该作者
在接收大量数据时,UART接收中断函数可能会耗时,导致数据丢失。为了解决这个问题,可以合理分配中断优先级,确保接收中断能够及时处理。

使用特权

评论回复
27
febgxu| | 2023-9-9 18:13 | 只看该作者
通信线受到干扰或接触不良              

使用特权

评论回复
28
wilhelmina2| | 2023-9-9 18:22 | 只看该作者
建议启用硬件流控制机制。              

使用特权

评论回复
29
timfordlare| | 2023-9-9 18:31 | 只看该作者
降低串口的波特率可以减少数据传输速度,从而减小数据丢失的可能性

使用特权

评论回复
30
sanfuzi| | 2023-9-9 18:39 | 只看该作者
:使用UART中断接收数据相比查询接收数据的方式更常见

使用特权

评论回复
31
ccook11| | 2023-9-9 18:53 | 只看该作者
在串口传输中,可以使用校验位来验证数据的完整性

使用特权

评论回复
32
robincotton| | 2023-9-9 19:03 | 只看该作者
如果接收缓存区不足,可能会导致数据丢失的情况。可以增加接收缓存区的大小

使用特权

评论回复
33
mickit| | 2023-9-9 19:11 | 只看该作者
通过调试工具和日志记录来跟踪问题,并定位可能出现数据丢失的原因

使用特权

评论回复
34
bestwell| | 2023-9-9 19:19 | 只看该作者
可以考虑使用可靠的传输协议,如XMODEM、YMODEM或ZMODEM

使用特权

评论回复
35
2539752622| | 2023-9-11 16:43 | 只看该作者
理论上不会丢包,丢包主要是发包太快,mcu处理不及,导致丢包。
所以一般使用缓冲区,发包太快也有一个缓冲的余地,但是会消耗RAM。如果大数据量估计RAM就不够了。
还有一种就是流控,配套上位机,MCU说上位机发,那上位机就发;MCU说等会我处理不过来了,那就叫上位机等等再发了。

使用特权

评论回复
36
天天向善| | 2023-11-6 10:39 | 只看该作者
进步应用程序以及驱动程序的优先级,以增长对于数据的接管以及处理速度。

使用特权

评论回复
37
LinkMe| | 2023-11-6 12:38 | 只看该作者
这是随机的还是固定的现象?

使用特权

评论回复
38
AIsignel| | 2023-11-14 16:58 | 只看该作者
楼主的串口传输是单双工的,对吗?

使用特权

评论回复
39
jcky001| | 2023-11-15 14:31 | 只看该作者
调整接收线程优先级

使用特权

评论回复
40
cr315| | 2023-11-15 14:32 | 只看该作者
设置串口控制器的接收中断模式和FIFO的trigger level值

使用特权

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

本版积分规则