
1、你的程序通过读写U盘文件实现和电话模块通信，通信是实时的，因此，读写文件一定不能有缓冲。
    linux下打开文件：
    open(DevicePath, O_RDONLY | O_DIRECT);
    open(DevicePath, O_RDWR | O_DIRECT);

2、使用read()函数读取音频数据或者设备状态时，需要申请对齐的缓冲区，示例代码如下：
    int i;
    char* AlignedBufferP = NULL;  
    //对齐的缓冲区----必须用这种方法申请一块缓冲区供GoodtelReadData和GoodtelReadStatus使用
    i= posix_memalign((void**)&AlignedBufferP, getpagesize(), BytesToRead);
    num =lseek(DeviceHandles[GoodtelIndex],PositionRealData, SEEK_SET);
  
    num = read(DeviceHandles[GoodtelIndex],DataBuffer, BytesToRead); 