IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Programmation EEPROM


Sujet :

C++Builder

  1. #61
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut
    Salut,
    Meme si j'acquitte mal l'octet recu, je devrais qd meme le lire non?

  2. #62
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut
    as tu deja programme en C la lecture d'une eeprom telle la mienne? si oui pourrais tu me montrer ton code? merci beaucoup....

  3. #63
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    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...
    Meme si j'acquitte mal l'octet recu, je devrais qd meme le lire non?
    Il me semble que oui...
    à+
    De retour parmis vous après 10 ans!!

  4. #64
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut
    bon bah je v deprimer tout seul dans mon coin alors ..
    a+
    Merci qd meme

  5. #65
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    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

  6. #66
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut
    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......

  7. #67
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par Sub0
    Oui, c'est ça, tu ne te trompes pas.
    Il faut que tu adaptes tes procédures d'écriture/lecture d'Eprom au nouveau modèle...
    Tu devras analyser les datasheets des composants, pour recréer le protocol correspondant.
    C'est tout!

    Pour les essais, met un délai assez grand, et quand ça fonctionnera, tu le diminuras au maximum.

    Bon courage, à+
    Peux tu me faire un petit topo sur ce fameux delai stp?
    Merci

  8. #68
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    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:
    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);
    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...

    -> 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!!

  9. #69
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 115
    Points : 48
    Points
    48
    Par défaut
    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!!!!!!!!!!!!!!

  10. #70
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    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!!

+ Répondre à la discussion
Cette discussion est résolue.
Page 4 sur 4 PremièrePremière 1234

Discussions similaires

  1. [PIC 16C84] Ajouter une eeprom externe i2c à un programme
    Par jacques8 dans le forum Autres architectures
    Réponses: 2
    Dernier message: 30/09/2005, 17h11
  2. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  3. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  4. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 08h05
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo