Salut,
Meme si j'acquitte mal l'octet recu, je devrais qd meme le lire non?
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...Meme si j'acquitte mal l'octet recu, je devrais qd meme le lire non?
à+
De retour parmis vous après 10 ans!!
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?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 : Sélectionner tout - Visualiser dans une fenêtre à part
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, à+
De retour parmis vous après 10 ans!!
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! bye
De retour parmis vous après 10 ans!!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager