|
|
@ -19,14 +19,31 @@ FATFS fat_fs; |
|
|
|
FIL eeprom_file; |
|
|
|
|
|
|
|
bool access_start() { |
|
|
|
UINT file_size = 0, |
|
|
|
bytes_written = 0; |
|
|
|
const char eeprom_zero = 0xFF; |
|
|
|
MSC_Aquire_Lock(); |
|
|
|
if(f_mount(&fat_fs, "", 1)){ |
|
|
|
if (f_mount(&fat_fs, "", 1)) { |
|
|
|
MSC_Release_Lock(); |
|
|
|
return false; |
|
|
|
} |
|
|
|
FRESULT res = f_open(&eeprom_file, "eeprom.dat", FA_OPEN_ALWAYS | FA_WRITE | FA_READ); |
|
|
|
if(res) MSC_Release_Lock(); |
|
|
|
return (res == FR_OK); |
|
|
|
if (res) MSC_Release_Lock(); |
|
|
|
|
|
|
|
if (res == FR_OK) file_size = f_size(&eeprom_file); |
|
|
|
|
|
|
|
if (res == FR_OK) { |
|
|
|
f_lseek(&eeprom_file, file_size); |
|
|
|
while (file_size < E2END && res == FR_OK) { |
|
|
|
res = f_write(&eeprom_file, &eeprom_zero, 1, &bytes_written); |
|
|
|
file_size++; |
|
|
|
} |
|
|
|
} |
|
|
|
if (res == FR_OK) { |
|
|
|
f_lseek(&eeprom_file, 0); |
|
|
|
f_sync(&eeprom_file); |
|
|
|
} |
|
|
|
return res == FR_OK; |
|
|
|
} |
|
|
|
|
|
|
|
bool access_finish() { |
|
|
|