我在自己设计的设计中使用 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 循环中第二次读取时(在关闭/重新打开文件并在代码中执行其他操作之后)它再次转到第一个位置。所以我想保存找到的最新位置,直到break语句。我已经尝试在每次迭代中使用 seek 函数
while( (readedBytes = FSfread((void *)&c,sizeof(char),1,ephpubData->filetouart->seek) != 0) && G_RUNNING && ephpubData->readedBytes < 2520)
但它给了我一个错误。