linux下串口读数据,read函数的一个问题
在非标准模式下,read函数如何判断什么时候返回?
char buff[50];
while (1)
{
nread = read(fd, buff, 50);
if (nread<=0)
{
perror("read data error");
break;
}
printf( "%s", buff); //
printf("\n");
}
串口发送端一秒钟发送一个“hello world!”,但是上面的接收程序有时候不能完整的读取hello world!,例如有时候会这样:
hello world!
hello wor
ld!
he
llo world!
这是读取三个hello world的情况,望大神们告诉我问题在哪,拜谢!