différence entre eeprom et write

fuse

Senior Member
Bonjour,

Je souhaite profiter des informations de PieM (programme basic avec eeprom dans le post commande moteur pas à pas) pour compléter mon tuto sur les moteurs pas à pas...
J'utilise le mode flowchart et souhaite utiliser la commande existante dans ce mode : la commande write.
Le Picaxe manual n'est pas très clair sur le sujet et les 2 commandes existent eeprom et write...
Pour moi c'est la même chose, cependant il y a peut-être une subtilité qui m'échappe :confused:

Cordialement
 

westaust55

Moderator
La commande EEPROM est en fait une directive de programmation de rédacteur qui préchargera les valeurs indiquées dans la mémoire interne de PICAXE EEPROM alors que le programme de BASIC est téléchargé dans le PICAXE.

La commande WRITE est exécutée quand le programme de PICAXE fonctionne pour stocker les nouvelles valeurs qui peuvent être calculées pendant l'opération de programme ou être autrement déterminées/définies.
 

PieM

Senior Member
Bonjour fuse,

Il faut voir EEPROM comme une initialisation du contenu de la mémoire eeprom, en fait. Ce n'est pas une instruction. Elle ne modifie pas la longueur du code.

Donc, on effectue ce préchargement en Eeprom avant le début du programme.

Quant à WRITE, c'est vraiment une instruction qui occupe qq octets et qui permet en cours de programme d'écrire dans cette mémoire.

En fait, si avec le mode flowchart, ce préchargement n'est pas possible, il peut être remplacé par un WRITE en tout début de programme dans une phase d'initialisation...

EEPROM 0,(%1010,%1000,%1001, %0001,%0101,%0100,%0110,%0010) (Occupation en mémoire programme = 3 octets )
peut donc être remplacé par :
WRITE 0, %1010,%1000,%1001, %0001,%0101,%0100,%0110,%0010 (Occupation en mémoire programme = 21 octets ! )

Cordialement
 

fuse

Senior Member
Merci à PieM et Westaust55,

J'étais justement en plein test. d'abord la commande write en flowchart est limitée à une seule donnée à écrire ,exemple : write 0,2
impossible d'écrire write 0,(2,58,47).
Ensuite, en flowchart cette commande est toujours réactivée à la mise en route du Picaxe, la mémoire eeprom supporte beaucoup de cycle d'écriture (plus de 10000..) mais cela ne me plaisait pas beaucoup....
En mode Basic, la commande eeprom est située dans les directives donc en dehors du programme, c'est lors du téléchargement que l'on écrit dans l'eeprom...

Cordialement
 

PieM

Senior Member
Fuse,
je pense qu'une astuce te permettrait de contourner ce problème:

il suffirait en tout début de programme de tester la valeur read 0, b0
si b0 est à 0 c'est que l'eeprom n'a pas été chargée.
Donc sous cette seule condition, lancer un write 0, ..... ( pas de parenthèses ) mais dans une cellule basic.

Image 002.jpg

Il semple que le flowchart l'accepte mais je ne suis pas un pro de cet outil . :rolleyes:
 

fuse

Senior Member
Bonjour,

Oui, encore une bonne astuce. Il ne faut pas perdre de vue que le mode flowchart est limitée et de nombreuses commandes ne sont disponibles dans ce mode...:rolleyes:

Cordialement
 
Top