tcflush函数用于清空输入、输出缓冲区,原型如下:
#include <termios.h> int tcflush(int fd, int queue_selector);
fd为打开的串口描述符,queue_selector有三种取值,TCIFLUSH、TCOFLUSH和TCIOFLUSH,分别代表输入缓冲区、输出缓冲区和输入输出缓冲区。例如:
摘自:http://support.sas.com/documentation/onlinedoc/sasc/doc/lr2/tcflush.htm
- #include <sys/types.h>
- #include <termios.h>
- #include <unistd.h>
- #include <stdio.h>
- #include <stdlib.h>
- main()
- {
- int ttyDevice = STDOUT_FILENO;
- /* Make sure file descriptor is for a TTY device. */
- if ( ! isatty(ttyDevice) ) {
- printf("Not a TTY device.n");
- return(EXIT_FAILURE);
- }
- /* Flush both the input and output queues. */
- else {
- if (tcflush(ttyDevice, TCIOFLUSH) == 0)
- printf("The input and output queues have been flushed.n\n");
- else
- perror("tcflush error");
- }
- return(EXIT_SUCCESS);
- }