Pb programmation EEPROM

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

Modérateur: Modérateur

Pb programmation EEPROM

Messagede Mikadu13 le 15 Mai 2006 20:38

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.
Mikadu13
 

Messagede JP le 16 Mai 2006 8:53

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 !!!!
Avatar de l’utilisateur
JP
Administrateur
Administrateur
 
Messages: 2325
Inscription: 23 Sep 2003 18:14
Localisation: Strasbourg

Messagede Mikadu 13 le 16 Mai 2006 10:44

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.
Mikadu 13
 

Messagede Invité le 17 Mai 2006 16:09

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

Messagede Invité le 17 Mai 2006 16:13

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.
Invité
 

Messagede JP le 17 Mai 2006 17:48

Pour des fonctions de bas niveau de ce genre il faut directement manipuler les registres de µC.
Ca clignote !!!!
Avatar de l’utilisateur
JP
Administrateur
Administrateur
 
Messages: 2325
Inscription: 23 Sep 2003 18:14
Localisation: Strasbourg

Messagede Invité le 17 Mai 2006 18:27

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é
 

Messagede Invité le 17 Mai 2006 18:40

:-D bizarre
Invité
 

Messagede mikadu13 le 17 Mai 2006 18:47

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
mikadu13
 

Messagede JP le 17 Mai 2006 18:49

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 !!!!
Avatar de l’utilisateur
JP
Administrateur
Administrateur
 
Messages: 2325
Inscription: 23 Sep 2003 18:14
Localisation: Strasbourg

Suivante

Retourner vers CodeVision AVR

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités