分享

linux清除串口未读取的数据

 喝小酒泡尼姑 2012-11-27
使用tcflush可以清除已写但未发出,或已接收但未读数据。[喝小酒的网摘]http://blog./a/17015.htm

用法如下:
linux清除串口未读取的数据 tcflush(fd, TCIFLUSH) ;

tcflush(int fd, int queue_selector)   //对已写但未发出,或已接收但未读数据的flush.
discards data written to the object referred to by fd but not transmitted, or data received but not read, depending on the value of
       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.
              
tcgetattr(int fd, struct termios *termios_p)   //get串口termios结构
gets the parameters associated with the object referred by fd and stores them in the termios structure referenced by termios_p. This function may be invoked from a background process; however, the terminal attributes may be subsequently changed by a foreground process.

tcsetattr(int fd, int optional_actions, const struct termios *termios_p)   //设置串口termios结构
sets the parameters associated with the terminal (unless support is required from the underlying hardware that is not available) from the termios structure referred to by termios_p.   optional_actions specifies when the changes take effect:
TCSANOW
   the change occurs immediately.

TCSADRAIN
   the change occurs after all output written to fd has been transmitted. This function should be used when changing parameters that affect output.

TCSAFLUSH
   the change occurs after all output written to the object referred by fd has been transmitted, and all input that has been received but not read will be discarded before the change is made.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多