~~~~~~~~~~~~~~~~~~~~~~
unsigned char buf[150]; //буфер для UART
static FRESULT f_err_code; //FRESULT для функций модуля
static FATFS FATFS_Obj; //структура - логический раздел
FIL fil_obj; //структура файла, с которым работаем
char var[30]=""; //буфер, сюда мы поместим то, что считаем из файла.
UINT ByteRead = 0;
int main(void)
{
uart0_init(); //настраиваем UART.
sendStr("*************Чтение из файла*************"); //отправляю через UART строку на терминал.
BYTE status = disk_initialize(0); //инициализируем карточку
sprintf((char*)buf,"initialize return: %X",status); //возвратит 0 в случае успеха
sendStr(buf);
f_err_code = f_mount(0, &FATFS_Obj); //монтируем логический раздел
sprintf((char*)buf,"f_mount return: %X",f_err_code); //возвратит FR_OK=0 в случае успеха
sendStr(buf);
f_err_code = f_open(&fil_obj, "foo.txt", FA_READ); //пытаемся открыть файл
sprintf((char*)buf,"f_open return: %X",f_err_code); //возвратит FR_OK=0 в случае успеха, FR_NO_FILE=4, если файл не существует...(остальные значения см. в ff.h)
sendStr(buf);
f_err_code = f_read(&fil_obj,var,20,&ByteRead); //пытаемся читать 20 байтов с начала файла в переменную var
sprintf((char*)buf,"f_read return: %X, byte read: %d",f_err_code,ByteRead); //возвратит FR_OK=0 в случае успеха, также выводим сколько байтов удалось считать
sendStr(buf);
sprintf((char*)buf,"var: %s",var);
sendStr(buf);TX_NEWLINE; //выводим в терминал значение буфера
f_close(&fil_obj); //закрываем файл
}
Вот такой код нашел в интернете. Можно ли его как-то подкорректировать что бы вместо терминала был светодиод. И в конце if "var == значение" то все гуд.

