我试图使用XON/XOFF软件握手发送数据,这样接收器就可以通过使用控制字符来控制数据流。
为了启用用于发送数据的流控制,我执行了以下操作:
tcgetattr (fd & options );//读取当前选项 options.c_cflag |= IXON;//启用对输出的XON流量控制 tcsetattr (fd,TCSANOW,& options );//设置新选项
该程序接受一个文件,并将其逐字节发送到串行接口。奇怪的是,当接收到默认停止(0x13)时,程序继续发送数据。当检查VSTOP的值时,它返回0x09。但是这个(0x09)也不能停止工作。
有人知道如何让XON/XOFF与termios一起工作吗?
谢谢!
-Sören
发布于 2014-11-27 13:34:50
如果收到XOFF,发送方不需要立即停止。它仍然可以冲洗它的输出河豚。因此,当接收方仍然有足够的空间接收更多的数据(例如,30字节的空闲)时,它应该已经发送了XOFF。
VSTOP只是一个标志(因此是一个任意整数,在不同的平台上变化),而不是XOFF的ASCII字符。
https://stackoverflow.com/questions/27174725
复制相似问题