Bonjour,
Je suis en train de créer un programme qui tourne sur microcontrôleur PIC32MZ avec FreeRTOS.
Le microcontrôleur redémarre de manière aléatoire : le reboot est effectué après une exception levée sur un pointeur ayant une mauvaise adresse dans du code appartenant aux libraries standards fournis avec le compilateur (je ne sais donc pas quelle fonction plante).
=> L’hypothèse qui me semble la plus probable est que les fonctions sprintf/snprintf ne sont pas "thread safety" et/ou qu'elles utilisent les fonctions malloc/free des libraries standard, ce qui interfère avec l'utilisation de FreeRTOS.
Je suis donc partie dans l'idée de créer mes fonctions de conversion pour être certain de leur comportement.
Actuellement, j'ai déjà fait mes fonctions de conversion entier vers string et maintenant j'aimerai faire ma fonction de conversion float to string (et double to string).
J'aimerai pouvoir passer en paramètre le nombre de chiffre après la virgule et la taille minimale de la chaine afin d'insérer des caractères espace ou '0' (paramètre configurable) en début de chaine si celle-ci est trop petite
PS : j'ai compris comment était codé en binaire un float... c'est déja un début.
Quelle méthode me conseillez-vous d’utiliser ?
Merci d'avance,
Partager