Besoin d'aide sur I2C
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Besoin d'aide sur I2C



  1. #1
    invite74b73858

    Besoin d'aide sur I2C


    ------

    Bonjour,

    L'i2c ca a l'air facile mais la franchement je bloque.

    En regardant SSPSTAT avec l'option watch, je vois la condition de START mais je ne rentre jamais dans l'interruption et le bit R/W ne passe pas à 1 (je veux lire le bus)

    Voici l' initialisation :

    Code:

    int main(void)
    {
    unsigned char Tampon;

    INTCONbits.GIE = 1;
    INTCONbits.PEIE = 1;
    RCONbits.IPEN=1;

    IPR1=0x08; // SSPIP = 1 : interruption pour SSP high
    PIE1=0x08; // SSPIE = 1 : autorise I2C interrupt

    SSPADD=0x20; //Adresse de l'esclave
    SSPSTAT=0x80; // SMP = 1 : mode 100KHz (quartz 16M)

    SSPCON1=0x20; //I2C enable
    SSPCON1 |= 0x06; // SSPM = 0110 : mode slave 7 bits
    SSPCON1bits.CKP = 1; //On relache l'horloge
    tampon= SSPBUF; // BF = 0;
    }

    Voyez quelque chose de louche lors de l'initialisation?
    Merci d'avance

    -----

  2. #2
    invite74b73858

    Re : Besoin d'aide sur I2C

    Au secours je ne trouve pas...

  3. #3
    umfred

    Re : Besoin d'aide sur I2C

    D'après ton initialisation, ton composant est un esclave sur le Bus I2C, il attend donc une requête d'un maitre pour parler ou recevoir des info sur le bus I2C. C'est bien ça?

    D'autre part si l'adresse qu'il reçoit n'est pas la bonne (0x20 ou 0x21), le module I2C esclave ne réagit pas.

  4. #4
    invite74b73858

    Re : Besoin d'aide sur I2C

    Apparemment ca a l'air encore plus bizarre que ca. La clock (SCL) est indépendante de la masse on est d'accord. ET pourtant, lorsque je lance mon programme en mode debug ou meme lorsque le PIC est flashé, si je regarde au multimètre pour voir les connections avec le "BIP" ca sonne!! ( SCL est donc reliée à la masse qd je lance mon programme) et ca arrete de Biper qd j'arrete mon programme.... Je ne comprends vraiment pas la. J'ai juste configuré SCL en entrée.....

    Si quelqu'un a une idée je le remercie par avance de me l'exposer.

  5. A voir en vidéo sur Futura
  6. #5
    umfred

    Re : Besoin d'aide sur I2C

    As tu bien mis les résistances de pull-up nécessaire à l'I2C au +Vcc ?

  7. #6
    invite74b73858

    Question Re : Besoin d'aide sur I2C

    Les résistances sont bien au VCC (pull up). Le truc c'est que j'essaye de gérer l'i2c par interruption :des que le buffer SSPBUF est rempli le prog met SSPIF à 1 et on devrait rentrer dans le programme d'interruption mais la ce n'est pas le cas. J'arrive a rentrer dans l'interruption que si je configure le PIC avec interruption sur START et STOP de l'i2C mais pas sur la condition SSPBUF rempli....
    Pouvez vous, si vous la connaissez, me donner une initialisation "type" pour autoriser l'interruption sur I2C en mode esclave 7 bits?
    J'espere avoir été clair

    Merci pour vos précédentes réponses

  8. #7
    umfred

    Re : Besoin d'aide sur I2C

    Essai d'utiliser les fonctions décrites dans ce document.

    Sinon quel est ton PIC, que l'on puisse regarder sa datasheet?
    Remet tu à 0 le bit d'interruption (bit SSPIF de PIR1)?

  9. #8
    Jack
    Modérateur

    Re : Besoin d'aide sur I2C

    ET pourtant, lorsque je lance mon programme en mode debug ou meme lorsque le PIC est flashé, si je regarde au multimètre pour voir les connections avec le "BIP" ca sonne!! ( SCL est donc reliée à la masse qd je lance mon programme) et ca arrete de Biper qd j'arrete mon programme...
    en tout cas ta méthode de mesure n'est pas valable.
    Une mesure de continuité ne doit jamais se faire sous tension.

    A+

  10. #9
    invite74b73858

    Re : Besoin d'aide sur I2C

    Merci pour votre aide.

    Finalement on a codé l'i2c "à la main" et... ca marche!
    C'est peut-etre un peu moins rapide mais bon on s'en contente.

    A+ tout le monde

Discussions similaires

  1. [Génétique] besoin d'aide sur un exercice sur la méiose
    Par invite95b244e3 dans le forum Biologie
    Réponses: 8
    Dernier message: 05/02/2008, 23h10
  2. Besoin d'aide sur C++
    Par invite296e3790 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 17/03/2007, 20h42
  3. Besoin d'aide sur bus can
    Par invite74b73858 dans le forum Électronique
    Réponses: 3
    Dernier message: 10/08/2006, 20h12
  4. Besoin d'aide sur le photovoltaique
    Par invite6264104f dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 09/10/2005, 16h04
  5. besoin d'aide sur travaux pvc sur le sport
    Par inviteec47951a dans le forum Lectures scientifiques
    Réponses: 0
    Dernier message: 02/10/2004, 21h15
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...