加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 23:03:59 所属栏目:Linux 来源:网络整理
导读:您可以使用ioctl确定从 linux下的串行端口读取的数据量.是否可以确定写入时串口的剩余缓冲区空间?实际上,我想将一个数据块写入一个串行端口,只有当它可以一次性卸载时才能成功,或者如果它必须被分块则失败.对端口的写入和读取是非阻塞的.我不希望这是UART缓
您可以使用ioctl确定从 linux下的串行端口读取的数据量.是否可以确定写入时串口的剩余缓冲区空间?实际上,我想将一个数据块写入一个串行端口,只有当它可以一次性卸载时才能成功,或者如果它必须被分块则失败.对端口的写入和读取是非阻塞的.我不希望这是UART缓冲区,而是UART缓冲区之前的内核内存缓冲区(我猜).

解决方法

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

如需阅读:

ioctl(device_handler,TIOCINQ,&bytes);

写作:

ioctl(device_handler,TIOCOUTQ,&bytes);

FIFO缓冲区的大小:

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

问候,VA.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读