Étape 2: Compréhension des Structures, pointeurs, base et gestion de la mémoire.
Pour envoyer de grandes quantités de données sur toute forme de lien de communication le plus efficacement possible d’aller à ce sujet est envoyer les octets bruts de l’émetteur et lisez-les en arrière dans la mémoire au niveau du récepteur. Ce n’est pas particulièrement difficile, mais il se sert d’un code unique de niveau faible, vous ne pouvez pas avoir utilisé avant. En outre puisque nous va être bricoler avec des pointeurs de la mémoire et les structures de données volumineuses, il est possible de planter l’arduino très rapidement.
Structures : Une structure est un peu comme un objet plus basique. Il contient un ensemble de variables appelées propriétés accessibles avec l’opérateur point. Par exemple :
Nous utilisons une structure de données pour représenter ces données parce qu’elle aura une taille fixe et moyens de la structure, ce qui signifie que lorsque nous lisons notre structure en mémoire de notre récepteur le code saura automatiquement ce que toutes les données. Vous ne pouvez pas utiliser une variable de chaîne dans une structure comme ça parce que la variable chaîne prend une quantité dynamique de mémoire et provoquera des erreurs inattendues. Plutôt si vous voulez stocker les chaînes utiliser un tableau de caractères avec une taille fixe. Une autre chose à garder à l’esprit est que les structures de données sont la taille de la somme de leurs parties. donc ils peuvent obtenir de très grandes. Lire la suite : Ici
Pointeurs : Un pointeur dans le contexte d’un langage C est un moyen de référencer une adresse dans la mémoire physique. Ceci est utile pour nous parce que nous ne pouvons pas créer directement une copie d’une structure de réception. Plutôt, nous avons créer un pointeur vers une structure qui n’existe pas dans la mémoire puis remplir cette mémoire avec le flux de données, que nous avons reçu de notre émetteur. Cependant parce que nous utilisons un pointeur vers une structure plutôt qu’une structure « réelle » il faut utiliser l’opérateur flèche (->) d’aborder nos propriétés plutôt que l’opérateur point. Si c’est déroutant, étudier le code dans les deux étapes suivantes et voir comment ces concepts sont utilisés. Lire la suite : Ici
Gestion de la mémoire : Parce que les structures sont grandes leur création lors de l’exécution est une excellente façon de remplir la mémoire de l’arduino et provoquer des accidents. Au lieu de cela nous devons allouer statiquement nos structures et autres données statiques en les déclarant à l’extérieur de la fonction loop() ou start() . pour en savoir plus sur les méthodes conseillées pour la mémoire SRAM et variables Lire la suite :ici