读取大文件会使看门狗定时器超时

时间:2017-03-17 18:55:32

标签: c file fread watchdog lpc

我已经为LPC板创建了固件程序。看门狗定时器的超时是2秒。我有一个jpg文件,我想读取并使用freed()函数存储在缓冲区中。读取过程非常耗时,因此在执行文件读取时电路板复位。

void func() {
 int num, NumBytes;
 static uint8_t acBuffer[0x1000];
 FILE *file ;
 // file contains large data 
 watchdog_reseter();
 num = fread(acBuffer, 1, NumBytes, file); // time-out elapses
 watchdog_reseter();
}

所以我想将文件int拆分为2或3个文件:

void func()
{
  int num, num1, num2, k;
  static uint8_t acBuffer[0x1000], buff[0x1000], buff2[0x1000];
  FILE *file, *file1, *file2 ; 
  /* task 1: file splits to file 1 and file2 */ 
  watchdog_reseter();
  num1 = fread(buff, 1, NumBytes/2, file1); // program resets
  watchdog_reseter();
  num2 = fread(buff2, 1, NumBytes/2, file2); // program resets
  watchdog_reseter(); 
  for(k=0; k<num1+num2, k++)
  {
    if(k<num1)
      acBuffer[k] = buff[k];
    else
      acBuffer[k] = buff2[k-num1];
  } 
}

帮我实现task1。

0 个答案:

没有答案