Alors voilà, j'ai un soucis , je bosse sur un code qui, pour le moment, ne dépasse pas la moitié de la mémoire de mon Arduino Uno (32KB) mais qui va surement les dépasser.
Je me demandais donc comment je pourrais faire pour pouvoir stocker, par exemple, la code "de base" sur la mémoire Flash, comme d'hab quoi, et les fonctions sur une mémoire externe (car il y en as plein de fonctions, c'est ça qui pèse le plus lourd).
J'ai vu ici et là qu'on pouvait rajouter une mémoire EEPROM externe et communiquer avec celle-ci en I2C, mais je n'ai pas compris si les fonctions pouvaient y êtres stockées, et si oui comment.
Bref, comment faire pour stocker mes fonctions sur une mémoire plus importante et pouvoir y accéder depuis le void loop() ?
Déjà cela ne va pas être simple à faire, et en tout cas beaucoup plus compliqué et couteux en temps que de passer sur une MEGA.
Et même si tu arrives à mettre au point un système fiable dans lequel la mémoire flash serait utilisée comme une sorte de cache pour du code exécutable, qui serait stocké dans une mémoire externe plus grosse :
les performances de l'ensemble risquent d'être mauvaises
la mémoire flash n'est pas prévue pour être réécrite à haute dose
euh... le site de Sanguino, ya pas comme un problème ? ^^
Pour ce qui est de l'utilisation des entrées/sorties de cet AtMega644, je suis tombé ici : http://www.hobbytronics.co.uk/atmega644-arduino
Je suppose que les "D 0, D 1, ... D 31" sont les entrées/sorties digitales et que les "AI 0 ... AI 7" sont les entrées analogiques ?
Les entrées analogiques du 644 peuvent aussi êtres des entrées/sorties numériques ?
Super ! Merci !
Donc... AtMega644p ou AtMega1284p ?
Quoi qu'il en soit, je pense passer au 20MHZ plutôt que rester en 16MHz, comme c'est pour un projet "vidéo" avec l'aide de la bibliothèque TVout je pense que j'y gagnerais.
Dans ce cas, uploader un sketch depuis une Arduino Uno cadencée à 16MHz sur un AtMega (644 ou 1284) cadencé à 20MHz poserais problème ou j'utilise l'hologe de la Uno pour l'upload pour ensuite utiliser un quartz de 20MHz en standalone ?