从文件的特定部分读取 PIC32MX

Read from a certain part of a file PIC32MX

我在自己设计的设计中使用 PIC32MX,一切正常。

现在我正在尝试实现一个功能,该功能基本上是按顺序从文件中读取,直到找到特定的字符帧,所以我正在做:

    while( (readedBytes = FSfread((void *)&c,sizeof(char),1,ephpubData->filetouart) != 0) && G_RUNNING && ephpubData->readedBytes < 2520){
    privData->txBuffer[privData->txBufferPos++] = c;
    ephpubData->readedBytes = ephpubData->readedBytes + readedBytes;
    if (privData->txBufferPos == TX_BUFFER_SIZE){
        if (verifyDate (task) == 1){
        *gpsState = GPS_STATE_VERIFY;
        ephpubData->count++;
        break;
        }
        FSfseek(ephpubData->filetouart , ephpubData->readedBytes , SEEK_SET);
        privData->txBufferPos = 0;
   }
}

第一次找到框架时(使用 verifyDate 函数)一切正常,它会断句。 当它在 while 循环中第二次读取时(在 close/reopen 文件并在代码中执行其他操作之后)它再次进入第一个位置。 所以想把找到的最新位置保存到break语句。我已经尝试在每次迭代时使用搜索函数

    while( (readedBytes = FSfread((void *)&c,sizeof(char),1,ephpubData->filetouart->seek) != 0) && G_RUNNING && ephpubData->readedBytes < 2520)

但是它给了我一个错误。

对不起各位,我发现了这个错误。

我正在执行的代码中的某处:

    FSfseek( ephpubData->filetouart , 0 , SEEK_SET );

将阅读位置设置为0。