termios:XON / XOFF握手

时间:2014-11-27 13:10:18

标签: serial-port

我正在尝试使用XON / XOFF软件握手发送数据,以便接收方可以使用控制字符来控制数据流。

要启用流量控制以发送数据,我这样做了:

  

tcgetattr(fd,& options); //读取当前选项
  options.c_cflag | = IXON; //在输出上启用XON流量控制
  tcsetattr(fd,TCSANOW,& options); //设置新选项

程序获取一个文件并将其逐字节发送到串行接口。 奇怪的是,当接收到默认STOP(0x13)时,程序继续发送数据。 检查VSTOP的值时,它返回0x09。但是这个(0x09)也不能用于STOP。

有没有人知道如何让这个XON / XOFF与termios一起使用?

谢谢!
-Sören

1 个答案:

答案 0 :(得分:1)

如果收到XOFF,发件人不需要立即停止。它仍然可以刷新其输出吹气。因此,当接收器仍有足够的空间来接收更多数据(例如30个字节)时,接收器应该已经发送XOFF。

VSTOP只是一个标志(因此是一个在不同平台上变化的任意整数),而不是XOFF的ASCII字符。