Rtc spi (max 6902)
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Rtc spi (max 6902)



  1. #1
    invite1cd8f19a

    Post Rtc spi (max 6902)


    ------

    bonjour tout le monde,
    je veux faire une horloge à temps réel avec un RTC max6902 avec protocole SPI, je suis sous microC
    pour tester la communication entre le RTC et le pic je veux juste lire les secondes et les affichées sur un LCD.
    Code:
    sbit Chip_Select at RB6_bit;
    sbit Chip_Select_Direction at TRISB6_bit;
                                                         // SPI module connections
    sbit LCD_RS at RB4_bit;
    sbit LCD_EN at RB5_bit;
    sbit LCD_D4 at RB0_bit;
    sbit LCD_D5 at RB1_bit;
    sbit LCD_D6 at RB2_bit;
    sbit LCD_D7 at RB3_bit;
    
    sbit LCD_RS_Direction at TRISB4_bit;
    sbit LCD_EN_Direction at TRISB5_bit;
    sbit LCD_D4_Direction at TRISB0_bit;
    sbit LCD_D5_Direction at TRISB1_bit;
    sbit LCD_D6_Direction at TRISB2_bit;
    sbit LCD_D7_Direction at TRISB3_bit;
    // End LCD module connections
    
    char txt1[] = "Date";
    char txt2[] = "Heure";
    char txt3[] = "/";
    char txt4[] = ":";
    char sec[8];
    int sect;
    int buffer;
    
    void main(){
      TRISD =0;
      PORTD =0;
      TRISB =0;
      PORTB = 0xFF;
      TRISB = 0xff;
      ANSEL  = 0;                        // Configure AN pins as digital I/O
      ANSELH = 0;
      Chip_Select = 0;
      Chip_Select_Direction = 0;
      SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV4, _SPI_DATA_SAMPLE_END, _SPI_CLK_IDLE_HIGH, _SPI_LOW_2_HIGH);          // Initialize SPI
      Lcd_Init();                        // Initialize LCD
      Lcd_Cmd(_LCD_CLEAR);                // Clear display
      Lcd_Cmd(_LCD_CURSOR_OFF);           // Cursor off
      Lcd_Cmd(_LCD_CLEAR);               // Clear display
    
      Lcd_Out(1,1,txt1);                 // Write text in first row
      Lcd_Out(1,5,txt4);
      Lcd_Out(1,9,txt3);
      Lcd_Out(1,12,txt3);
      Lcd_Out(2,1,txt2);
      Lcd_Out(2,6,txt4);
      Lcd_Out(2,14,txt4);
      Lcd_Out(2,11,txt4);
    //  Lcd_Out(2,8,txt4);
    //  Delay_ms(2000);
      while(1){
      buffer=0X81;
      SPI1_Write(buffer);
      Delay_ms(2);
      sect= SPI1_Read(buffer);
      sect= buffer&0x7F;
      PORTD=sect;
      IntToStr(sect,sec);
      Lcd_Out(2,15,sec);
      Delay_ms(50);
      }
    }
    c'est le code que j'ai fais
    mais ca marche pas je ne sais pas pourquoi...........???
    en simulation sous isis j'ai remarqué que le signal d'horloge ne change pas donc pas d'impulsion.
    merci d'avance de m'éclaircir si quelqu'un a des suggestions !!!

    -----

  2. #2
    invite1cd8f19a

    Re : Rtc spi (max 6902)

    un petit Up............!
    {ô_Ô}

Discussions similaires

  1. Utilisation de mémoire SPI sur une ligne SPI utilisé
    Par VIIV dans le forum Électronique
    Réponses: 1
    Dernier message: 30/12/2009, 13h11
  2. rtc grillée ?
    Par Rancis dans le forum Électronique
    Réponses: 2
    Dernier message: 01/04/2009, 16h54
  3. [AVRStudio4 + Atmega128 + SPI] Probleme sur le port SPI
    Par inviteff7a2099 dans le forum Électronique
    Réponses: 1
    Dernier message: 03/12/2008, 03h05
  4. Connexion d'un CAN 12 Bits sur un bus SPI : MAX 202
    Par invite8916ae1c dans le forum Électronique
    Réponses: 0
    Dernier message: 22/04/2008, 11h35
  5. MAX 250 et MAX 251
    Par invite2078750e dans le forum Électronique
    Réponses: 5
    Dernier message: 11/05/2006, 21h05
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...