gpt4 book ai didi

c - 如何确定 linux 串行端口上剩余的写入/输出缓冲区空间量?

转载 作者:IT王子 更新时间:2023-10-29 01:23:55 43 4
gpt4 key购买 nike

您可以使用 ioctl 确定有多少数据可用于从 linux 下的串行端口读取。是否可以确定串口写入时剩余多少缓冲区空间?实际上,我想将一个数据 block 写入一个串行端口,只有当它可以一次性全部卸载时才会成功,或者如果它必须被分 block 则失败。对端口的写入和读取是非阻塞的。我不希望这是 UART 缓冲区,而是 UART 缓冲区之前的内核内存缓冲区(我猜)。

最佳答案

您可以确定写入/输出量。

阅读:

ioctl(device_handler, TIOCINQ, &bytes);

写:

ioctl(device_handler, TIOCOUTQ, &bytes);

FIFO 缓冲区的大小:

serial_struct serinfo;
memset(&serinfo, 0, sizeof(serinfo));
ioctl(device_handler, TIOCGSERIAL, &serinfo);
serinfo.xmit_fifo_size;

问候,弗吉尼亚州。

关于c - 如何确定 linux 串行端口上剩余的写入/输出缓冲区空间量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13181040/

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