http://blog.csdn.net/kangkermit/article/details/8184880
2012
tcflush函數(shù)清除串口輸入緩存(終端驅(qū)動已接到,但用戶尚未讀?。┗虼谳敵鼍彺妫ㄓ脩粢呀?jīng)寫如緩存,但尚未發(fā)送)。
函數(shù)原型:
int tcflush(int filedes,int quene)
參數(shù)解釋
filedes: 描述符。
quene取值及含義:
*TCIFLUSH 清除輸入隊(duì)列舉例:tcflush(fd,TCIOFLUSH);
另加的說明:
在打開串口后,用戶其實(shí)其實(shí)已經(jīng)可以開始從串口讀取數(shù)據(jù)了,但如果用戶沒有讀取,數(shù)據(jù)將被將保存在緩沖區(qū)里。如果用戶不想要開始的一段數(shù)據(jù),或者發(fā)現(xiàn)緩沖區(qū)數(shù)據(jù)有誤,可以使用這個(gè)函數(shù)將緩沖區(qū)清空。
應(yīng)用舉例:
tcflush(fd, TCIOFLUSH);
sleep(2);
read_len = read(fd, buff, 10);
這樣,在sleep之前的輸入輸出隊(duì)列中的數(shù)據(jù)都被清空了。