Étape 8: Read_Line_from_Hex_File()
Cela nous amène à la fonction principale,
Le code ci-dessus analyse exactement une ligne de données hexagonales depuis le pointeur de fichier.
- 17 : nous avons lu le premier octet d’une ligne. Cela devrait être le ':' caractère, mais n’oubliez pas notre clear_special_char() doit ignorer cela et lire les octets suivants deux « 1 » et '0' (vert). Le « 10 » est le nombre d’octets de données (bleus) se trouve sur cette ligne. Remarque, 10 n’est pas un nombre décimal, il est hexadécimal. Ce qui signifie, il devrait y avoir 16 octets de données que se trouvant sur cette ligne.
- 20 : on vérifie si il n’y avait aucune donnée sur cette ligne. S’il n’y a nulle données, nous revenons de false.23 : prendre le premier octet de l’adresse des données (violet).
- 26 : prendre le deuxième octet de l’adresse des données (violet).
- 29 : obtenir l’octet (rouge) identifiant le type d’information qui se trouve sur cette ligne. Nous recherchons seulement des données ('00'). Les autres types sont expliqués à l’ole ' article Wiki : types d’enregistrements Intel HEX.
- 32 : si le type d’enregistrement n’est pas données, nous ne voulons pas elle. Nous retournent false.
- 34 : combiner les deux octets de 8 bits adresse en une seule adresse de 16 bits.
- 37 : Let's get toutes les données se trouvant sur cette ligne et le mettre dans le tableau nous a fourni la fonction.
- 42 : nous devons garder une trace de combien d’octets est sur chaque ligne, pour compléter notre adresse des données. Par conséquent, nous passer à hex_file_to_array().
- 45 : J’ai lu la somme de contrôle, mais je ne fais pas quelque chose avec elle. Je devrais probablement.