日期:2014-05-16  浏览次数:20618 次

Linux下串口编程问题
我现在在Linux下通过串口接收数据并且把接收到的数据存到一个文件之中,(串口的数据间歇性的发送)
代码如下
[code=C/C++][/code]while(nwrite < 30000)
{
if(select(fd+1,&set,NULL,NULL,&tv)>0)
{
nread = read(fd,buff,1000);
// printf("read:%d",nread);
lseek(wav_fd,0,SEEK_END);
nwrite_temp = write(wav_fd,buff,nread);
nwrite = nwrite + nwrite_temp;
// if(nwrite%5000==0)printf("nwrite:%d\n",nwrite);
}
}
我想每个文件可以保存60K的数据,但是现在有个问题是,nwrite < 21000的时候,还可以进行接收,但是当,这个数据太大的时候,就会死掉,是什么原因导致的呀?请教各位了

------解决方案--------------------
set和tv请每次循环前重新赋值.