Pada
artikel sebelumnya , kami mempertimbangkan opsi untuk menggunakan mikrokontroler STM32F103C8T6 sebagai flash drive dengan sistem file FAT12 internal. Sekarang Anda dapat mempertimbangkan cara mendapatkan data dari sistem file internal kami. Sebagai contoh, kita perlu menyimpan beberapa pengaturan program kita.
Tidak ada komplikasi khusus dari struktur format data diperlukan untuk menyimpan pengaturan bernama. Kami menerima format berikut - satu pengaturan = satu file. Misalnya, kita perlu menyimpan kecepatan koneksi melalui UART dan, misalnya, penundaan dalam milidetik dari LED yang berkedip. Buat (dalam editor teks apa saja) file
UART_SPD.SET dan
DELAY_BL.SET di sistem file kami. Kami menulis nilai di dalamnya: 115200 dan 1000, masing-masing.
Untuk mendapatkan data ini, beralih ke FAT12 internal kami, Anda harus mengambil pustaka HAL FatFs standar dan mencoba menyesuaikannya dengan flash internal. Atau gunakan cara yang lebih sederhana dan nyaman - tulis fungsi Anda sendiri untuk membaca data file FAT12, yang akan kami lakukan:
uint8_t f12_read_data ( char *file_name,
Sekarang - kita mendapatkan nilai pengaturan yang diperlukan:
f12_read_data("UART_SPDSET" ,&fdata, file_list, 200);

Array fdata akan berisi string "115200", yang dapat dikonversi ke integer menggunakan fungsi atoi ():
Proyek dengan kode sumber dapat diambil di
sini .
Itu saja. Terima kasih atas perhatian anda!