我已经为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。