Em um
artigo anterior , consideramos a opção de usar o microcontrolador STM32F103C8T6 como uma unidade flash com um sistema de arquivos FAT12 interno. Agora você pode considerar como obter dados do nosso sistema de arquivos interno. Por exemplo, precisamos armazenar algumas configurações do nosso programa.
Nenhuma complicação especial das estruturas de formato de dados é necessária para armazenar configurações nomeadas. Aceitamos o seguinte formato - uma configuração = um arquivo. Por exemplo, precisamos armazenar a velocidade da conexão via UART e, por exemplo, o atraso em milissegundos de um LED piscando. Crie (em qualquer editor de texto) os arquivos
UART_SPD.SET e
DELAY_BL.SET em nosso sistema de arquivos. Nós escrevemos os valores neles: 115200 e 1000, respectivamente.
Para obter esses dados, voltando-se para o nosso FAT12 interno, você precisará pegar a biblioteca HAL FatFs padrão e tentar adaptá-la ao flash interno. Ou opte de uma maneira mais simples e conveniente - escreva sua função de leitor de dados de arquivo FAT12, o que faremos:
uint8_t f12_read_data ( char *file_name,
Agora - obtemos o valor das configurações necessárias:
f12_read_data("UART_SPDSET" ,&fdata, file_list, 200);

A matriz fdata conterá a string "115200", que pode ser convertida em número inteiro usando a função atoi ():
O projeto com códigos-fonte pode ser realizado
aqui .
Isso é tudo. Obrigado pela atenção!