Bonjour,
Je souhaiterai des conseils pour avoir un format de fichier lisible pour pouvoir tracer une courbe (ou autre chose).
Actuellement j'ai ce format d'enregistrement STM32.zip (280 Bytes) Et quand j'utilise un utilitaire (Binary Viewer) pour ouvrir j'ai bien des valeurs
Par contre, je ne sais pas comment mettre un espace ou quelque chose pour distinguer une trame de données de 128 (par exemple, en sachant que le tableau de 128 peut varier) à une autre trame de 128 valeurs ?
Merci par avance de vos conseils.
Bonsoir
Possible de faire un truc du genre
[56|45|78|09|32|12]
Ca fait qu on peut facilement detecter un bloc entre [] puis ensuite splitter par rapport au caractere | pour retrouver les valeurs
J'ai déjà effectuer un enregistrement en réel sur la carte SD en ASCII et ça ne suit pas, la DMA va beaucoup plus vite que le temps d'enregistrement sur fichier, donc je passe en écriture hexa ou binaire pour gagner du temps. Comment on fait un CRLF en hexa dans un fichier binaire ? Je pense que c'est le plus simple non ?
Il n'y a pas de texte, lors de la création je le nome en .txt mais son contenu est bien en hexa, regardez son contenu. Effectivement j'avais gardé le .txt du premier temps (avec une écriture en ASCII) pour pouvoir tracer la courbe sous Excel pour voir le résultat mais avec les modifications j'ai gardé le nom du fichier avec .txt mais son contenu ce n'est pas le même.
Merci je vais faire des essais, mais normalement avec un tableau de valeur il le rajoute automatiquement le CRLF au prochain d'enregistrement. Je vais effectuer des essais pour voir ce que cela donne, je laisse cependant le ticket ouvert au cas où.
D'abord ce n'est pas du Arduino (c'est du STM32) et il appel beaucoup d'autres fonctions dans les fichiers différents, cela devient vite illisible pour tout le monde.
Tu peux uniquement si tu stocke que des entier sur 8bits et que tu exclus la valeur 255.
Une solution simple est d'avoir une en-tête, ici l'en-tête peux se résumer a un entier, avec par exemple la taille de la trame.
J'ai l'impression que c'est un entier sur 16 bits qui est sauvé, mais que pour le test les 128 valeurs sont entre 0 et 127.
A quoi correspondent les valeurs en vrai ?
Ce n'est qu'un nom, cela n'a aucun rapport avec le contenu des données.
J'espère pas car cela veut dire que ca va polluer tes donner avec des valeurs décimal 13 et 10.
Cela est par contre souvent le cas, avec une sauvegarde en mode texte.
Comme l'indique donne nous ton code de sauvegarde et surtout comment tu veux lire ces données?
S il y a des problèmes de vitesse faudrait peut etre tout mettre dans une stream et ecrire le tout a la fin sur la sd
Enfin s il y a la place en mémoire
Il enchaine les données au cycle suivant. Je me pose la question mais alors puisque je connais la taille de mon tableau dans ce cas dans le post traitement je sais à quel moment j'ai les données suivantes. Il suffit de remplir les tableau qui vont de 0-127 et ainsi de suite, ça ne sert à rien de rajouter une caractère spéciale supplémentaire pour distinguer le début de la trame suivante.
En binaire tu n'ajoute "jamais" de caractèresoctet(s) de séparation(ou vraiment cas exceptionnel).
Tout à fait si tu as une structure fixe, ce n'est pas la peine de t'embêter.
le plus "simple" est de définir une structure de tes données et d'utiliser un pointeur sur ta structure que tu ferra pointer sur le premier élément de chaque cycle dans ton buffer.
Mais ça c'est pour la lecture, toi tu fais que écrire dans le fichier en Arduino?
Tu utilises quoi par lire le fichier ?