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

Soucis I2C EEPROM 24C08



  1. #1
    M_Makia

    Soucis I2C EEPROM 24C08


    ------

    J'ai un probleme concernant la sauvegarde de données dans une EEPROM.
    J'utilise un Pic 16f877A Avec une memoire 24C08.
    Le programme consiste a ecrire les chiffres de 1 a 100 dans la EEPROM sous la forme de caracteres ASCII.
    Donc je prend 3 octets de memoir dans la EEPROM pour chaque chiffre enregistrer.
    Ensuite je lis ces valeur et je les envois par liaison serie directement sur le pc et je visualise avec l'hyper terminal.

    Mon prob c'est que je ne visualise pas les bon chiffres ...
    Si vous avez une carte EasyPic avec mikroc et biensur un modul EEPROM vous pouvez essayer.

    Quand je met la variable Inc a 60 ( dans les boucle for)les bon chiffres s'affiche mais quand il y a 100 comme présenté ci-dessous ca ne m'affiche pas les bon chiffres.
    C'est un vrai mystere ...


    Code:
    int Inc = 0 ;
    int Adr  = 0;
    char Tampon[4];
    
    
    
    void Conversion3(unsigned int Nbr)
      {
       char toto;
    
     toto = Nbr /100 ;             // Récuperation chiffre des centaines
     Tampon [1] = toto +48 ;   //
    
     toto = (Nbr /10);              //
     toto =toto  % 10 ;            // Récupération chiffre des dizaines
     Tampon [2] = toto + 48 ;  //
    
     toto = Nbr ;                      //
     toto = toto % 10;              // Récupération du chiffre des unitées
     Tampon [3] = toto +48 ;   //
    
       }
       
       void main()
       {
        I2C_Init(100000);
      Soft_Uart_Init(PORTC, 7, 6, 9600, 0);
      LCD_Init(&PORTD);                  // initialize  (4-bit interface connection)
      LCD_Cmd(LCD_CURSOR_OFF);
      LCD_Cmd(LCD_CLEAR);
    
       for(Inc = 0 ; Inc <100;Inc++)
          {
          
            Conversion3(Inc);
            
           LCD_Chr(1,1,Tampon[1]);
           LCD_Chr(1,2,Tampon[2]);
           LCD_Chr(1,3,Tampon[3]);
            Delay_ms(10);
    
            I2C_Start();
            I2C_Wr(0xA2);
            I2C_Wr(Adr);
            I2C_Wr(Tampon[1]);
            I2C_Wr(Tampon[2]);
            I2C_Wr(Tampon[3]);
            I2C_Stop();
            while (!I2C_Is_Idle());
            Adr = Adr +4 ;
             
          }
      adr= 0 ;
      
    for(Inc = 0 ; Inc <100;Inc++)
          {
    
     I2C_Start();
     I2C_Wr(0xA2);
     I2C_Wr(adr);
     I2C_Repeated_Start();
     I2C_Wr(0xA3);
    
     Soft_UART_Write(I2C_Rd(1));
     Soft_UART_Write(I2C_Rd(1));
     Soft_UART_Write(I2C_Rd(0));
     Soft_UART_Write(10);
     Soft_UART_Write(13);
     I2C_Stop();
     while (!I2C_Is_Idle());
     Adr = Adr + 4 ;
     }
    
          }

    -----
    Dernière modification par M_Makia ; 08/03/2007 à 20h48.

  2. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?

Discussions similaires

  1. bus I2C soucis de lecture
    Par michael_mac dans le forum Électronique
    Réponses: 3
    Dernier message: 24/04/2007, 13h58
  2. Réponses: 0
    Dernier message: 18/03/2007, 19h48
  3. [Blanc] 24C08 pour DVP3005K
    Par chica dans le forum Dépannage
    Réponses: 0
    Dernier message: 14/03/2007, 22h14
  4. Réponses: 6
    Dernier message: 03/03/2007, 16h23
  5. [Brun] Recherche programme memoire 24C08 pour chassis 11AK19
    Par cleevel dans le forum Dépannage
    Réponses: 1
    Dernier message: 06/01/2007, 18h29
Découvrez nos comparatifs produits sur l'informatique et les technologies.