2011-11-17 22 views
3

我正在用C写一个程序,但我不知道如何检查ttyS的输出缓冲区。 我想知道有多少字符尚未写入或如果在那一刻trasmitter仍在工作ttyS的TX缓冲区

回答

1

大多数串口驱动支持

int count = 0; 
ioctl (fd, TIOCOUTQ, &count); 

其中TIOCOUTQ返回输出缓冲区的字符数。找出可以写入多少字节没有多大意义,因为大多数Linux串行驱动程序会根据需要动态分配缓冲区空间。

查看tty_ioctl summary

+0

我认为你误解了它(可能是由于该页面的格式稍微不好),实际上意味着'TIOCOUTQ'。 –

+0

@Matthew Slattery:是的,你是对的。谢谢。我纠正了它。 – wallyk