本帖最后由 173future 于 2018-5-6 11:49 编辑
每次接收数据后把缓冲区里面的多余数据读干净就好了。
uint8_t buffer[100];
void ReadData(int &fd){
int bytes;
ioctl(fd,FIONREAD,&bytes);
if(bytes > 5) return;
read(fd,buffer,5);
ioctl(fd,FIONREAD,&bytes);
if(bytes > 0) read(fd,buffer,bytes);
} |