Enregistrement de donnée sur une mémoire type EEPROM

tite_july Messages postés 4 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 17 mai 2006 - 28 janv. 2006 à 14:32
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 - 9 mars 2006 à 00:51
Bonjour à tous,
Je suis actuellement sur un projet dans lequel je doit aller enregistrer des donnée depuis un jusque dans une memoire type EEPROM via un bus I2c. malheureusement mon peu de connaissance dans ce domaine fait que j'ai beaucoup de retard dans mon travail. la question de je pose donc est : comment fait on pour aller inscrire dans données dans une mémoires a un endroit précis de celle ci ?

Je vous remercie d'avance
Tite_july

9 réponses

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
28 janv. 2006 à 21:35
As tu des consignes à suivre ?
Essaye de voire directement sur les sites d'éléctronique, car la programmation de PIC et d'EEPROM se fait en ASM dans la plupart des cas.
Dans ce cas la, tu uras sans doute a faire en ASM motorola.

Pour la prog en ASM essaye plus le site http://www.asmfr.com

Shell
0
tite_july Messages postés 4 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 17 mai 2006
28 janv. 2006 à 23:06
oui en effet j'ai plusieur consigne a suivre, le programmation ce fera sur pic 16F877 et de preferance en C. mais je tacherai de voir cela sur d'autre site comme tu me la conseiller. merci du renseignement.
0
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
28 janv. 2006 à 23:55
Quel compilateur souhaite tu utiliser pour programmer ton PIC?
Normalement pour presque chaque compilo il y a deja des exemples de commande du bus i2c.
Il ne reste plus qu'à regarder la forme des trames à envoyer à la mémoire.
Donne aussi le modele de la puce i2c que tu utilises.

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
0
tite_july Messages postés 4 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 17 mai 2006
31 janv. 2006 à 08:16
Bonjour à toi l'ami qui aime le C,
le compilateur que j'utilise est MPlab, en effet dessus il y a des exemple de commande i2c mais le pb est que dans ces exemple (qui sont en anglais ) il nous montre comment ecrire a tout debut de la mémoire et ceci je sais deja faire. ce que je ne sais pas faire c'est écrire a une adresse donnée de cette mémoire comme par example l'adresse $0105 peux tu m'aider ?

merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
31 janv. 2006 à 17:44
Avant de t'aider, juste une petite précision.
MPLAB n'est pas un compilateur, c'est un IDE (envirronnement de travail).

Bon, alors pour écrire dans une EEPROM à partir d'un PIC via le bus I2C, c'est pas très compliqué, surtout si tu sais déja comment gérer le bus i2c.

Prenons un exemple.
Prenons une EEPROM de type 24LC512.
Tu veux écrire dans cette EEPROM la donnée 0xF5 à l'adresse 0x2083
Premier octet à envoyer sur le bus: un octet d'identification de la puce sur laquelle tu veux écrire
Forme de l'octet:
* 4 bits de poids forts permettant d'identifier la puce (1010)
* Bit d'adresse de poids fort (0)
* Identifiant de notre puce, cablé électriquement donc dépend de la plaque (on va dire pour l'exemple 11)
Deuxième octet à envoyé: Le reste de l'adresse
On envoie donc les 7 bits de poids fort de l'adresse sans tenir compte du bit de poids le plus fort (0x20)

Troisieme octetà envoyer: La fin de l'adresse
On envoie les 8 bits de poids faibles (0x83)

Quatrieme octet à envoyé: La donnée à écrire
On envoie donc les 8 bits de notre donnée (0xF5)

Voila pour les données à envoyer, maintenant la forme de la trame i2c:

Bit de start
ID
Lecture de l'acknowledge
ADRESSE HAUTE
Lecture de l'acknowledge
ADRESSE BASSE
Lecture de l'acknowledge
DATA
Lecture de l'acknowledge
Bit de Stop

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
0
Phenixdz Messages postés 3 Date d'inscription mercredi 30 novembre 2005 Statut Membre Dernière intervention 12 juin 2006
7 mars 2006 à 11:08
Salut à tous,
je cherche à programmer une eeprom de type 24c02 directement à partir du port série je doit faire ça en vc++ 6.0 ou en turbo c++ 3.0 ou en assembler 8086, la procedure est la suivante :
Bit de start
ID
Lecture de l'acknowledge
ADRESSE
Lecture de l'acknowledge
DATA
Lecture de l'acknowledge
Bit de Stop
Comment faire et merci d'avance j'ai écrit cs code en turboc++ 3.0 les données sont reçues par l'eeprom mais pas écrites !

#include<stdio.h>
#include<dos.h>
#include<conio.h>
void main()
{
delay(1000);
outportb(0X03FB,0X03);
outportb(0X03F8,0XA0);
delay(1000);
outportb(0X03FB,0X03);
outportb(0X03F8,0X00);
delay(1000);
outportb(0X03FB,0X03);
outportb(0X03F8,0X33);
delay(1000);
getch();
}
0
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
8 mars 2006 à 12:04
Quel est ton schema de branchement de ton EEPROM?

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
0
Phenixdz Messages postés 3 Date d'inscription mercredi 30 novembre 2005 Statut Membre Dernière intervention 12 juin 2006
9 mars 2006 à 00:32
Mon schema se trouve dans le site suivant :
http://col2000.free.fr/eepserie/pes_indx.htm
0
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
9 mars 2006 à 00:51
OK, une question maintenant, ca fait longtemps que je n'utilise plus les outportb et inportb (faute de compatibilité avec Win NT).
Arrives-tu à commander rts et cts?

Si non, je vais essayer de regarder ca ce WE.

Pour info, je te conseille de regarder comment commander le port série avec les fonctions du style CreateFile, WriteFile et ReadFile.
Renseigne toi sur EscapeCommFunction qui doit te permettre la commande de RTS et CTS.
Ensuite pour le timing i2c, au vu du site, je dois pas avoir grand chose à dire.

En bref, si outportb fonctionne pas, ne te casse pas la tete, de toute facon, c'est démodé, concentre toi sur les fonctions que je t'ai passé, elles fonctionnent sur tout windows.

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
0
Rejoignez-nous