在读取期间完全清除调制解调器模块串行缓冲

时间:2013-04-11 13:57:31

标签: c linux serial-port modem

我有一个gsm调制解调器模块,首先我是从microcom appl尝试过的。一切都很好。 其次我在c中实现了自己的代码。如果我通过AT命令,我可以多次阅读它和它的答案。我怎么能清除港口?有时我似乎可以读到这个端口,直到永远。 : - )

我尽量不考虑这一点,但在处理回复时会引起混淆。

我使用Linux。

的Tamas

1 个答案:

答案 0 :(得分:2)

您可以使用tcflush()刷新输入,输出或两者。

  

tcflush()丢弃写入fd引用的对象的数据但是   不          传输,或接收但未读取的数据,具体取决于          queue_selector:

   TCIFLUSH
          flushes data received but not read.

   TCOFLUSH
          flushes data written but not transmitted.

   TCIOFLUSH
          flushes both data received but not read, and data written but not
          transmitted.