Pb programmation EEPROM

Pour toutes vos questions sur CodeVision et la programmation en C en général

Modérateur : Modérateur

Mikadu13

Pb programmation EEPROM

Message par Mikadu13 »

Bonjour,

Je réalise des relevés de températures et je voudrais créé un programme permettant de mémoriser ces valeurs à une adresse précise dans une mémoire eprom.

Je m'explique, il faudrait que je rentre une valeur de température à l'aide d'un clavier 16 touches puis que par rapport au numéro du relevé ( que j'aurais aussi rentré dans le programme à l'aide du clavier) je mémorise la valeur à une adresse précise de la mémoire.

En ce qui concerne le clavier j'ai réussi, mais c'est au niveau de la mémorisation que je bloque.

merci de bien vouloir me répondre et m'aider.

JP
Administrateur
Administrateur
Messages : 2323
Inscription : 23 sept. 2003 18:14
Localisation : Strasbourg
Contact :

Message par JP »

Bonjour,

Tu as un exemple dans l'aide de CodeVision :

Code : Tout sélectionner

void main(void) {
int i;

/* Pointer to EEPROM */
int eeprom *ptr_to_eeprom;

/* Write directly the value 0x55 to the EEPROM */
alfa=0x55;

/* or indirectly by using a pointer */

ptr_to_eeprom=&alfa;

*ptr_to_eeprom=0x55;

/* Read directly the value from the EEPROM */
i=alfa;
/* or indirectly by using a pointer */
i=*ptr_to_eeprom;
}

a+
JP
Ca clignote !!!!

Mikadu 13

Message par Mikadu 13 »

Bonjour JP et merci à toi de m'avoir répondu si vite.

J'ai vu cet aide mais le problème est que j'ai plus d'une valeur à mémoriser et donc que je ne peut pas déclarer 50 variable pour mes 50 relevé.

Avec un pointeur je suis obligé de le diriger vers une adresse de variable et c'est ici le problème (à moins que je me trompe).

Je voudrais par exemple diriger le pointeur sur une adresse précise de la mémoire mais pas sur l'adresse d'une variable.

merci d'avance.

Invité

Message par Invité »

vraiment personne n'a d'idée car je suis encore bloqué. :cry:

Invité

Message par Invité »

Anonymous a écrit :vraiment personne n'a d'idée car je suis encore bloqué. :cry:
En fait je cherche une façon de désigner une adresse particulière afin de mémoriser plusieurs valeurs.

JP
Administrateur
Administrateur
Messages : 2323
Inscription : 23 sept. 2003 18:14
Localisation : Strasbourg
Contact :

Message par JP »

Pour des fonctions de bas niveau de ce genre il faut directement manipuler les registres de µC.
Ca clignote !!!!

Invité

Message par Invité »

JP a écrit :Pour des fonctions de bas niveau de ce genre il faut directement manipuler les registres de µC.
Donc si je comprend bien il faut juste que j'affecte à la variable une variable qui correspondra à son adresse, comme par exemple:

variable = 15

????

Invité

Message par Invité »

:-D bizarre

mikadu13

Message par mikadu13 »

Bon merci à toi JP mais finalement j'abandonne.
Rien ne vaut un bon crayon et une bonne feuille de papier.
Tant pis et merci encore :-D

JP
Administrateur
Administrateur
Messages : 2323
Inscription : 23 sept. 2003 18:14
Localisation : Strasbourg
Contact :

Message par JP »

Donc si je comprend bien il faut juste que j'affecte à la variable une variable qui correspondra à son adresse, comme par exemple:
:hum: je croyais que tu ne voulais pas utiliser de variable mais écrire directement...

Ce que je te propose c'est de mettre l'adresse de l'EEPROM à laquelle tu veux stocker ta valeur dans le registre d'adresse EEARx, mettre la valeur dans le registre de donnée EEDR et valider l'écriture avec le registre de contrôle EECR.

Aucune variable, aucun pointeur, que du "bas niveau".
Ca clignote !!!!

Répondre