gpt4 book ai didi

linux - 串口 : not able to write big chunk of data

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:30:38 25 4
gpt4 key购买 nike

我正在尝试使用串行电缆将文本数据从一台 PC 发送到另一台 PC。其中一台 PC 正在运行 linux,我正在使用 write(2) 系统调用从它发送数据。日志大小约为 65K 字节,但 write(2) 系统调用返回大约 4K 字节(即正在传输这么多数据)。我尝试将数据分成 4K block ,但 write(2) 返回 -1。

我的问题是“在串口上写入数据是否有缓冲区限制?或者我可以发送任何大小的数据吗?我还需要在写入 4K 数据 block 时不断从其他 PC 读取数据”

我是否需要在 termios 结构中进行任何特殊配置以发送(大量)数据?

最佳答案

传输缓冲区为一页(查看 Linux 2.6.18 源代码)- 在大多数(如果不是全部)情况下为 4K。

另一端必须读取(不知道接收缓冲区的大小),但更重要的是你不应该写得比串口传输的速度快,如果你使用 115200 bps 8-N-1 你可以写4K block 大约每秒 3 次。 (115200/9/4096 = 3.125)

关于linux - 串口 : not able to write big chunk of data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2415074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com