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);
}