Dans un
article précédent , nous avons envisagé la possibilité d'utiliser le microcontrôleur STM32F103C8T6 comme lecteur flash avec un système de fichiers FAT12 interne. Vous pouvez maintenant déterminer comment obtenir des données de notre système de fichiers interne. Par exemple, nous devons stocker certains paramètres de notre programme.
Aucune complication particulière des structures de format de données n'est requise pour stocker les paramètres nommés. Nous acceptons le format suivant - un paramètre = un fichier. Par exemple, nous devons stocker la vitesse de connexion via UART et, par exemple, le retard en millisecondes d'une LED clignotante. Créez (dans n'importe quel éditeur de texte) les fichiers
UART_SPD.SET et
DELAY_BL.SET dans notre système de fichiers. Nous y écrivons les valeurs: 115200 et 1000, respectivement.
Pour obtenir ces données, en vous tournant vers notre FAT12 interne, vous devrez soit prendre la bibliothèque HAL FatFs standard et essayer de l'adapter au flash interne. Ou allez d'une manière plus simple et plus pratique - écrivez votre fonction de lecteur de données de fichier FAT12, ce que nous ferons:
uint8_t f12_read_data ( char *file_name,
Maintenant - nous obtenons la valeur des paramètres nécessaires:
f12_read_data("UART_SPDSET" ,&fdata, file_list, 200);

Le tableau fdata contiendra la chaîne "115200", qui peut être convertie en entier à l'aide de la fonction atoi ():
Le projet avec les codes sources peut être pris
ici .
C’est tout. Merci de votre attention!