Répondre à la discussion
Affichage des résultats 1 à 1 sur 1

Problème i2c PIC18F4550



  1. #1
    Mat-Style-57

    Exclamation Problème i2c PIC18F4550


    ------

    Salut à tous !

    Pour mon projet BTS, je dois, via un PIC18F4550, contrôler une EEPROM 24C16B via une liaison I2C ...

    Mais je n'ai jamais utiliser cette liaison et je patauge un peu. Pour l'instant, j'aimerais déjà pouvoir écrire une donnée sur la mémoire ( 24C16B), et ensuite la lire, et pourquoi pas l'afficher sur l'afficheur graphique !

    Pour l'instant voilà ce que donne mon programme :


    Code:
    ///////////////////////////////////////////////////////////////////////////
    //                    Programme gestion Afficheur + Mémoire              //
    ///////////////////////////////////////////////////////////////////////////
    
    #include "18F4550.h"
    
    #use delay (clock=20000000)
    #use i2c(master, sda=PIN_B0, scl=PIN_B1) 
    
    #fuses NOWDT,XT, NOPUT, NOPROTECT, NODEBUG, BROWNOUT, NOLVP, NOCPD, NOWRT 
    
    #define FAST_GLCD
     
    #include "HDM64GS12.c"
    #include "GRAPHICS.c"
    #include "Images.h"
    
    int donnee;
    
    void main()
    {
    
    set_tris_A(0b11111000);
    set_tris_B(0b00000000);
    set_tris_C(0b01111111);
    set_tris_D(0b00000000);
    set_tris_E(0b1111);
    
    //////////////////////////////////////////////////////////////////////////
    //                          Gestion afficheur                           //
    //////////////////////////////////////////////////////////////////////////
       
       glcd_init(1);
       delay_ms(1000);
       glcd_fillscreen(0);
       glcd_panda();
       glcd_update();
       delay_ms(3000);
       glcd_fillscreen(0);
       glcd_update();
       
    /////////////////////////////////////////////////////////////////////////
    //                            Gestion i2c                              //
    /////////////////////////////////////////////////////////////////////////
    while (1)
       {
       i2c_start();
       i2c_write(0b10100000); // Mode écriture
       i2c_write(0b10000000);
       i2c_write(0b00001111);
       i2c_write(0x5A);
       i2c_stop();
       
       i2c_start();
       i2c_write(0b10100000); 
       i2c_write(0b10000000);
       i2c_write(0b00001111);
       i2c_start();
       i2c_write(0b10100001); // Mode lecture
       donnee = i2c_read(1);   // 0 = pas d'acknowledge 1 = acknowledge
       i2c_stop();
       }
    }

    Si quelqu'un pourrait m'aider, ça serait vachement sympa

    Merci par avance, et bonne soirée !

    -----
    Dernière modification par yoda1234 ; 08/02/2010 à 18h50.

Discussions similaires

  1. Débutant : Problème avec un PIC18F4550
    Par Mikelamenace dans le forum Électronique
    Réponses: 5
    Dernier message: 26/10/2008, 16h56
  2. Probleme PIC18F4550 et USB
    Par RicounetZap dans le forum Électronique
    Réponses: 0
    Dernier message: 14/07/2008, 22h59
  3. Problème de communication I2C
    Par todd_terry dans le forum Électronique
    Réponses: 7
    Dernier message: 02/05/2008, 19h54
  4. Probleme I2C
    Par marquesni dans le forum Électronique
    Réponses: 4
    Dernier message: 14/05/2006, 01h24
  5. Probleme pic18f4550
    Par nickie001 dans le forum Électronique
    Réponses: 1
    Dernier message: 13/04/2006, 08h18
Découvrez nos comparatifs produits sur l'informatique et les technologies.