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

Communication spi



  1. #1
    Mazen21

    Communication spi

    Salut à tous,
    je suis en train de créer un journal matricielle, j'utilise des registres à décalage 74HC595 pour envoyer les données, mon collègue m'a conseillé d'utiliser le protocole spi, je n'ai pas compris parfaitement le code délivré par le help de mikroc donc je cherche un code simple en mikroc pour comprendre comment envoyer des données en utilisant le spi,
    merci d'avance

    -----


  2. Publicité
  3. #2
    Mazen21

    Re : Communication spi

    enfin ça marche, mon problème était avec le 'latch' pin C6 pic 16F877,
    voici le code tout vos propositions sont les bienvenu
    Code:
    unsigned char i=0;
    
    void main(){
         portc=0X00;
         trisc=0X00;
         spi1_init();
    
         while(1){
         spi1_write(i);
         portc.RC6=0;
         portc.RC6=1;
         if(i==255)i=0;
         i++;
         delay_ms(500);
         };
    }

  4. #3
    ftorama

    Re : Communication spi

    Citation Envoyé par Mazen21 Voir le message
    enfin ça marche, mon problème était avec le 'latch' pin C6 pic 16F877,
    voici le code tout vos propositions sont les bienvenu
    Code:
    unsigned char i=0;
    
    void main(){
         portc=0X00;
         trisc=0X00;
         spi1_init();
    
         while(1){
         spi1_write(i);
         portc.RC6=0;
         portc.RC6=1;
         if(i==255)i=0;
         i++;
         delay_ms(500);
         };
    }
    C'est légèrement sommaire comme code.....et sans schéma, un peu galère à comprendre.

    Si tu nous montrais un schéma de ton montage.....

    Petit indice, quels sont les signaux nécessaires à une communication SPI, quels sont ceux nécessaires à ton 595 et quels liens as-tu fait entre les deux?

  5. #4
    Mazen21

    Re : Communication spi

    Salut
    pour la communication spi, 4 pin sont nécessaires:
    pin| fonction|74HC595
    rc3 clock sh
    rc4 data in //spi en mode master pas besoin de data in
    rc5 data out ds
    rc6 latch st

  6. #5
    Mazen21

    Re : Communication spi

    je cherche à afficher une lettre sur une matrice de led 8*8 mais le balayage est trop lent. Comment augmenter le vitesse de balayage pour que la lettre semble fixe.
    voici mon code.
    Code:
    unsigned char val[8]={0x00, 0x00, 0x00, 0x7E, 0x40, 0x00, 0x00, 0x00};
    unsigned char index[8]={0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80};
    unsigned char i=0,j=0;
    
    void main() {
     portb=0X00;
     trisb=0X00;
     portc=0X00;
     trisc=0X00;
     spi1_init();
         while(1){
         portb=~index[i];
         spi1_write(val[1]);
         portc.RC6=0;
         portc.RC6=1 ;
         i++;
         if(i==8)i=0;
         }
    }
    Images attachées Images attachées

  7. A voir en vidéo sur Futura
  8. #6
    ftorama

    Re : Communication spi

    Un détail que j'avais oublié. Si ton compilateur a l'optimisation un peu lourde, il a du supprimer le "portc.RC6=0;"

    Tu as vérifié dans le code asm généré?

    Montre-nous aussi un schéma de ton montage....deuxième demande

  9. Publicité

Sur le même thème :

Discussions similaires

  1. Communication SPI sur PIC24fJ
    Par number8one dans le forum Électronique
    Réponses: 3
    Dernier message: 16/11/2010, 20h40
  2. Problème de communication PIC <-> EEPROM (SPI)
    Par guijac dans le forum Électronique
    Réponses: 1
    Dernier message: 21/10/2010, 23h00
  3. Communication SPI
    Par Neelo dans le forum Électronique
    Réponses: 4
    Dernier message: 10/07/2010, 01h58
  4. Communication SPI : PIC18(5V) <-> Flash ext. (3V)
    Par jorg1n dans le forum Électronique
    Réponses: 7
    Dernier message: 10/03/2010, 07h50
  5. Communication SPI entre PIC et autre circuit
    Par number8one dans le forum Électronique
    Réponses: 6
    Dernier message: 14/01/2010, 13h06