Есть устройство, которое принимает данные по RS-232C. К разъёму припаяно всего три вывода: TX (transfer), CTS (Clear to Send) и GND. DSR (Data Set Ready) и DTR (Data Terminal Ready) соединены прямо в кабеле.
Устройство это очень легко захлебнуть данными. Один символ может обрабатываться несколько секунд. И поэтому устройство через вывод CTS даёт понять когда уже можно к нему обращаться.
Вне Linux, используя 0x14 прерывание я просто опрашиваю статус COM-порта на состояние бита CTS перед отправкой каждого байта и всё работает прекрасно.
Но раз уж Linux называется операционной системой, то я хочу, чтобы можно было сделать просто:
$ cat data > /dev/ttyS1
Я настраиваю порт программой stty так:
$ stty -F /dev/ttyS1 speed 4800 crtscts