Je me permet de ne pas être d'accord avec cette vision de la chose.Il ne faut pas assimiler les registres internes à de la RAM.
Ce sont 2 choses distinctes. Il y a 256 octets de registres internes et 2K octets de RAM. Ce qui est inhabituel, c'est que le début de la RAM n'est pas aligné sur un multiple de 2k ce qui aurait fait démarrer la mémoire sur une adresse se terminant en ..000.
Ben ... les registres sont explicités dans le chapitre SRAM, par ailleurs les adresses sont contigües avec celles de la SRAM. Donc, même , si fondamentalement les registres ont une spécificité propre au µP, dans le cas de l'ATmega ils font partie intégrante de la SRAM. C'est dans la documentation de référence.
Oui, si l'on choisit de programmer en langage évolué, en principe c'est pour faire abstraction de la "machinerie". Dans cette optique on peut ignorer somptueusement la façon dont le compilateur se débrouille pour stocker les données. On peut ignorer les pointeurs etc.
Mais ayant voulu travailler les pointeurs, je suis bien obligé d'aller "lire" les octets en mémoire pour vérifier si j'ai bien compris leur fonctionnement.
Enfin, savoir comment fonctionne le compilateur est un incontournable si l'on désire l'utiliser "avec intelligence".
Je n'ai aucune raison d'apprendre le C, et de faire l'apprentissage d'Arduino. C'est un jeu de l'esprit, comme d'autres font des mots croisés ou jouent aux échecs. Mais quand je me pasionne pour un domaine, en général je pousse toujours le plus loin possible mes expérience. Le but n'est jamais le résultat obtenu, mais le chemin parcourru pour y parvenir.
Vla, c'est dans cette optique que je m'égare dans des sentiers tordus qui n'ont rien de "rentable".
Compte tenu de la difficulté que présente cette approche, je n'ai pas fini de reposer des questions sur ce forum.
NA ... XD
P.S : Au fur et à mesure que j'avance dans mes études, je me fais des livrets au format A5. J'en ai un de 48 pages sur la syntaxe, un en cours d'écriture sur les bibliothèques. Je me fais aissi des fiches au format A5. J'imprime au format A4, je coupe au centre. Je colle tête bêche les deux cotés et j'ai une fiche Recto/verso. Je joins mes deux fiches actuelles sur la mémoire d'Arduino. Je vous invite à les critiquer pour toute information qui ne serait pas correcte. Merci à l'avance.
FICHES gestion mémoire.pdf (109 KB)