Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:



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

Liaison série entre PIC...

  1. hoffmann

    Date d'inscription
    octobre 2008
    Âge
    29
    Messages
    223

    Liaison série entre PIC...

    Bonjour...
    Ce soir, le but du jeu est de faire communiquer deux de mes PICs via une liaison série...
    J'ai besoin d'aide le comment...

    Code source PIC1
    Code:

    Code:
    RCSTAbits.SPEN = 1;           //Datasheet p 167
    TRISCbits.TRISC7=1;           // <entrée
    TRISCbits.TRISC6=0;           // sortie
    
    
    OpenUSART( USART_TX_INT_OFF &             //Sans interruptions 
    USART_RX_INT_OFF &
    USART_ASYNCH_MODE &                           // Mode asynchrone
    USART_EIGHT_BIT &                                 //8bits
    USART_CONT_RX &                                   // j'ai aussi essayé SINGLE... Je ne connai pas la différence encore...
    USART_BRGH_HIGH,                                    // Baude rate élevé
    25 );                                                          //Valeur standart de baudrate 9600 et quelque je crois
    
    tmp=0;
    
       while (1)
       {
             if (( PORTAbits.RA1 ==1)&&(tmp==0))       // Si j'appuie sur un bouton
                {
                   LATAbits.LATA0 = 1;   // J'allume la led
                   tmp=1;
                             WriteUSART('H');       // et aimerai envoyer le char H
                }
             else
                {
                   LATAbits.LATA0 = 0;   // Sinon j'éteind la led
                }
                 }
    CODE PIC qui reçois
    Code:
    Code:
    
    RCSTAbits.SPEN = 1;
    TRISCbits.TRISC7=1;
    TRISCbits.TRISC6=1;
    
    /**********************************/
    /*  USART  */
    OpenUSART( USART_TX_INT_OFF &         //EXACTEMENT LA MEME CHOSE QUE POUR L AUTRE
    USART_RX_INT_OFF &
    USART_ASYNCH_MODE &
    USART_EIGHT_BIT &
    USART_CONT_RX &
    USART_BRGH_HIGH,
    25 );
    
    while(1)
       {
       car = ReadUSART();
    
       if (car == 'H')
          {
          strcpypgm2ram (lcd_buffer, "OK ");                  //ALORS on écris OK sur le LCD
          printlcd(lcd_buffer);
          CloseUSART();                                             // et on ferme l'usart
          }   
    
       }
    }


    Concernant les branchements... La aussi interrogation...
    J'ai relié... le Tx du pic 1 (qui envoie) au Rx du pic 2 (qui reçoie)....
    Est ce correcte ? J'ai aussi relié les deux masses...

    Merci pour votre retour d'expérience...

    Compilateur : C18
    PIC1 (envoie) : 18f252
    PIC2 (reçoie) : 18F4520

    -----

    Hoffmann
     


    • Publicité



  2. lil-vince

    Date d'inscription
    février 2008
    Localisation
    Lyon
    Âge
    31
    Messages
    1 112

    Re : Liaison série entre PIC...

    Salut,

    Pour la connexion, c´est bien ça. (Tx sur Rx et les masses reliées)

    Pour ton programme je ne sait pas, je ne connais pas les PICs.
    Les sous programmes WriteUSART() et ReadUSART() sont dans les librairies ou c´est toi qui les a écrits?

    Je te conseillerais d´essayer d´envoyer d´un PIC vers un PC avec hyperterminal pour tester l´envoi puis de tester l´envoi du PC vers un PIC pour tester la réception...

    Ou si tu as acces à un oscilloscope, visualise tes lignes Tx et Rx...

    Ou même avec un multimètre tu peux souvent voir "s´il se passe quelque chose", si ta tension varie quand tu envoi des caracteres
     

  3. DAUDET78

    Date d'inscription
    septembre 2006
    Localisation
    Ile de France
    Âge
    74
    Messages
    60 402

    Re : Liaison série entre PIC...

    J'y connais rien en soft de PIC.
    1/ Tu fais uniquement la liaison du PIC 1 vers le PIC2 (et pas l'inverse pour le moment)
    2/ Cette liaison directe est valable (sur le plan Hard) uniquement si tes deux PICs sont sur la même carte. Sinon, il faut passer par des buffer et receiver (à choisir selon la distance et la vitesse depuis le MAX232 jusqu'au MAX485 par exemple)
    Bonjour (à mettre en haut) , , , , , , A+ ( à mettre en bas)
     

  4. hoffmann

    Date d'inscription
    octobre 2008
    Âge
    29
    Messages
    223

    Re : Liaison série entre PIC...

    OK..
    merci pour les conseils...
    D'autres idées relatives à la programmation PIC ?

    merci d'avance
    Hoffmann
     

  5. hoffmann

    Date d'inscription
    octobre 2008
    Âge
    29
    Messages
    223

    Re : Liaison série entre PIC...

    Je testerai ces portes un peu plus tard lorsque j'en aurai finis avec le prototype...

    Quand je test ce code :

    Code:
    while(BusyUSART()) ;
    	WriteUSART('H');
    	//writeUSART(0xFF);

    et celui ci...
    Code:
    	while (!DataRdyUSART()) /* busy wait*/;
    { 	car = ReadUSART();
    	send_char_to_lcd (car); 
    }
    J'obtiens sur le lcd un vide (charractère non reconnu par le lcd j'imagine....)
    Par contre lorsque j'écris : writeUSART(0xFF); (0xFF correspondant a un carré plein pour le lcd)
    Cela fonctionne....

    J'ai tester avec d'autre valeur de codes hexadécimal... mais ça ne fonctionne pas....

    Des idées ??

    Merci bcp d'avance
    Hoffmann
     


    • Publicité



  6. hoffmann

    Date d'inscription
    octobre 2008
    Âge
    29
    Messages
    223

    Smile Re : Liaison série entre PIC...

    Bonjour,
    Après plusieurs péripéties, j'arrive a faire communiquer mes deux PICS ensemble, ainsi que PC <=> PIC...

    Un grand merci à vous tous !!

    J'ai publié un code source le plus propre possible, avec le plus possible de commentaires...
    Il est disponible a l'adresse suivante :

    http://www.hoffmann.corp.free.fr/bod...jets-peda.html

    Encore merci !
    Je risque de vous solliciter à nouveau un de ces quatre !!!!

    A bientôt !
    Hoffmann
     

  7. alainav1

    Date d'inscription
    janvier 2005
    Localisation
    calais
    Âge
    67
    Messages
    4 857

    Re : Liaison série entre PIC...

    bonjour,
    je suis interressé par le code source de pic à pic ,je ne l'ai pas trouvé sur le site mentionné ?
    peux tu le mette sur ce forum ?
    cordialement
    Alain
    Décider de faire, c'est bien . Décider quand, c'est mieux !
     

  8. hoffmann

    Date d'inscription
    octobre 2008
    Âge
    29
    Messages
    223

    Re : Liaison série entre PIC...

    Bonjour, je pense que ça doit être le même code a peu de chose près que pour PC <=> PIC...
    Je ferai des tests et publierai les résultat dès que j'aurai le temps...

    Pour ta liaison n'oublie pas de relier la masse !
    Hoffmann
     

  9. hoffmann

    Date d'inscription
    octobre 2008
    Âge
    29
    Messages
    223

    Re : Liaison série entre PIC...

    Bonjour, le site a déménagé.
    Je ne peux pas éditer le lien vers le site web contenant mes fichiers sources alors je le fais ici :

    http://www.hoffmanncorporation.com/b...ectronique.php
    Hoffmann
     


    • Publicité




 

Discussions similaires

  1. Urgent Liaison série et pic (Merci d'avance)
    Par grd666 dans le forum Électronique
    Réponses: 15
    Dernier message: 21/07/2008, 10h32
  2. Réponses: 18
    Dernier message: 03/06/2008, 13h10
  3. liaison série entre un PC et un PIC18F4520
    Par frouby dans le forum Électronique
    Réponses: 11
    Dernier message: 21/05/2008, 13h12
  4. Liaison Serie Par Pic 16f873
    Par ibrakanet dans le forum Électronique
    Réponses: 0
    Dernier message: 01/06/2007, 21h14
  5. probléme de liaison entre pic et rs232
    Par lembi dans le forum Électronique
    Réponses: 2
    Dernier message: 14/11/2006, 19h43