Salut,
Meme si j'acquitte mal l'octet recu, je devrais qd meme le lire non?
Version imprimable
Salut,
Meme si j'acquitte mal l'octet recu, je devrais qd meme le lire non?
as tu deja programme en C la lecture d'une eeprom telle la mienne? si oui pourrais tu me montrer ton code? merci beaucoup....
Non, je ne programme pas en C, dsl.
Je programme en Pascal, avec TP, BPW et Delphi.
J'ai programm� une unit� I�C, avec les fonctions de bases, � savoir:
- D�finir l'�tat boolean de la ligne DataOut
- D�finir l'�tat boolean de la ligne Clock
- Fonction pour lire l'�tat de la ligne DataIn
En fait, j'ai test� ces fonctions sans composant, c'est-�-dire, pour l'�mission, avec un voltm�tre ou une Led, test� la tension de DataOut en modifiant son �tat avec le pc. Pour la reception, mettre la ligne DataIn sous tension, et voir si le pc re�oit bien cette information (changement d'�tat). Une fois ces tests r�alis�s, j'ai programm� les fonctions suivantes:
- Proc�dure d'aquitement pour la lecture
- Proc�dure d'aquitement pour l'�criture
- Proc�dure pour �mettre un octet sur le bus
- Fonction pour r�ceptionner un octet sur le bus
J'ai r�alis� le test avec un composant I�C, en me r�f�rant � son datasheet...
Il me semble que oui...Citation:
Meme si j'acquitte mal l'octet recu, je devrais qd meme le lire non?
�+
bon bah je v deprimer tout seul dans mon coin alors ..
a+
Merci qd meme
Je ne sais pas si cela pourra t'aider mais sur certaines eeprom comme celle que je suis entrain d'essayer de programmer (M29F010B) il y a differentes commandes internes. Et l'acces en lecture ou en �criture n'est pas aussi simple et direct que ca.
Par exemple pour ecrire une donn�es voulue dans l'eeprom il faut d'avoir d'abord effectuer une serie d'ecriture a certaines adresses. et seulement une fois qu'elle est dans le bon mode ru peut envoer ta donnees a programmer
oui merci; c justement ca le truc, je vois pas pourquoi elle est pas dans le bon mode, je fais tout ce qu'ils disent dans la datasheet......
Peux tu me faire un petit topo sur ce fameux delai stp?Citation:
Envoy� par Sub0
Merci
As-tu au moins test� ta ligne DataIn? :?:
Je te rappel la proc�dure...
Tu programmes une boucle qui va lire l'octet � l'adresse du port. Tu simules l'envoi d'une donn�e au pc en mettant cette ligne sous tension (5v), puis � la masse. Et normalement, tu vas avoir � l'�cran, cet �tat s'afficher. Dans cette proc�dure de test, il n'ya pas besoin de tempo. et ton montage �lectronique n'est pas connect� au pc. Par exemple, si je veux lire l'�tat de la broche RI (broche 9) de mon port s�rie sur COM1, en Pascal, cela donne:
Il faut absolument �tre s�r que ton adresse de lecture pour acc�der � DataIn est bien la bonne, sinon, tu n'y arriveras jamais... De plus, comme tu passes par un �C pour obtenir l'I�C, tu dois faire attention que celui-ci est bien capable d'envoyer l'information au pc...Code:
1
2
3
4
5 Clrscr; Repeat Gotoxy(1,1); Writeln(Port[$3F8+6] and 32); Until(Keypressed);
-> C'est seulement quand tu arriveras � afficher l'�tat de DataIn � l'�cran que tu pourras continuer...
Bon courage, �+
Ca y'est j'ai trouv� mon erreur.....!!!!!!
En fait sur la xicor il y avait un pull up integre sur le SDA, donc les concepteurs du circuit n'avait pas mis de pull up en hard. du coup avec la nouvelle eeprom microship qui elle n'a pas de pull up integr� sur le SDA, qd elle me renvoyait l'octet que je lui demandais, l'eeprom mettait la pin SDA en l'air je ne captais donc rien de clair en entree de mon micro, en rajoutant une resistance de pull en hard, l'octet de lecture est nikel....
Pour les acquitements l'eeprom force le SDA a "0" donc c pour ca quej'ai toujours recu les acquitements nikel.....
Voila, un gros ouf de soulagement et merci beaucoup a Sub0 pour son aide!!!!!!!!!!!!!!
Salut! En effet, l'erreur ne pouvait se d�tecter qu'en testant directement ta ligne...
Il ya toujours une r�sistance de rappel sur les lignes Data et Clock du bus I�C...
Mais des fois, elles sont int�gr�es au compo, des fois pas...
D'ailleurs, tu devrais aussi en rajouter une pour Clock, non? 22k il me semble...
All�, bon courage pour la suite, et n'oublie pas le p'tit tag r�solv�! :)
oops, d�j� mis, ok j'ai rien dis! :wink: bye