当前位置: 技术问答>浙ICP备11055608号-3
iis7站长之家
Ubuntu 9.04下面的read问题
来源: 互联网 发布时间:2016-10-16
本文导语: 在ubuntu9.04下面做开发,要读取硬件传上来的数据,我在while(1)里面一直read(fd,buf ,16)(fd是打开的设备文件句柄,linux下暂且这样说吧,buf是存储的字符,每次硬件传上来16个字符),可是我把数据打印上来的...
在ubuntu9.04下面做开发,要读取硬件传上来的数据,我在while(1)里面一直read(fd,buf ,16)(fd是打开的设备文件句柄,linux下暂且这样说吧,buf是存储的字符,每次硬件传上来16个字符),可是我把数据打印上来的时候却是出现了便宜,有时会少读一位,而且有时没有读到硬件上来的数据。请问这个是怎么回事?是不是系统本身缓冲区的原因呢?该怎么解决呢?谢谢!
|
数据要进行验证,有问题要求重传,将缓冲设大一些。
|
buf的大小是多少?需要考虑读写同步。可能出现了underrun或是overrun的情况。
|
你有没有研究一下这里的文件指针,看看设备文件中的指针经过这样的操作之后发生了多大的移动