Besoin d'aide pour communications RS232 entre PICs
Répondre à la discussion
Affichage des résultats 1 à 19 sur 19

Besoin d'aide pour communications RS232 entre PICs



  1. #1
    invite2e667358

    Besoin d'aide pour communications RS232 entre PICs


    ------

    Bonsoir
    quelqu'un pourrait me donner la routine a suivre pour la reception d'une donnée(une certaine lettre) sur la broche RX d'un pic16f876a,et l'allumage d'une DEL(RA1),si cette donnée arrive.
    merci

    -----

  2. #2
    invite7a49d0d5

    Re : au secours!!!

    Bonsoir,

    en assembleur ?

    vede
    :O]

    ps : réception...quel mode? et débit? et protocole?

    ps : en C, tu fais PortA.1=1 pour allumer la led....

  3. #3
    DAUDET78

    Re : au secours!!!

    Pour les urgences en France, il y a le 15, le 112 etc

    La Charte :
    11. Les titres des messages doivent être explicites.
    J'aime pas le Grec

  4. #4
    invite7a49d0d5

    Re : au secours!!!

    rere ps: en ASM, un truc du genre BSF PORTA,1 ;O]

  5. A voir en vidéo sur Futura
  6. #5
    sdec25

    Re : au secours!!!

    1 topic ça ne suffit pas ?
    doublon : http://forums.futura-sciences.com/el...x-16f876a.html

  7. #6
    invite7a49d0d5

    Re : au secours!!!

    hi ;O]

    c'est pourtant clair,

    sa vie dépend de la reception d'une certaine
    lettre sur la broche "RX" d'un certain pic...

    mais tranquille quand meme, et oui, on sait
    toujours pas de quel délai on dispose ;O]

    vede
    ;O]

  8. #7
    invite2e667358

    Re : au secours!!!

    c'est en langage C,
    j'ai bien lu la chartre,mais comment je dois faire si personne ne me repond,il me faut de l'aide absolument.
    une fois votre message ecrit,il est oublié
    RS232,8 bit,a une vitesse de 2400 bauds
    ,mais je ne recommencerai plus,mais aidez moi s'il vous plait

  9. #8
    invite7a49d0d5

    Re : au secours!!!

    hi

    c'est un troll ou quoi ??

    sinon :
    compilo?
    puis:
    protocole?
    débit?

    vede
    ;O]

  10. #9
    invite2e667358

    Re : au secours!!!

    j'ai repondu

  11. #10
    Gérard

    Re : au secours!!!

    Citation Envoyé par vede Voir le message
    hi

    c'est un troll ou quoi ??

    sinon :
    compilo?
    puis:
    protocole?
    débit?

    vede
    ;O]
    C'est à se demander qui est le troll !

  12. #11
    invite2e667358

    Re : au secours!!!

    quelqu'un aurait -il une suggestion?

  13. #12
    Gérard

    Re : au secours!!!

    Citation Envoyé par MDN Voir le message
    quelqu'un aurait -il une suggestion?
    Je pense que tu devras commencer par apprendre la patience.
    Nous sommes des amateurs ... pas tes serviteurs !

    Si tu veux brancher 2 PIC, il faut en configurer un en émetteur et un en récepteur, prévoir pour chacun vitesse et autres caractéristiques habituelles de la liaison série.
    Un jour j'ai fait une transmission PC (hypertermial) --> PIC sans aucun problème.

    Utilises-tu un MAX232 ? Je suppose que non. Il ne faut donc pas inverser les bit (ce que fait le MAX)

  14. #13
    invite2e667358

    Re : au secours!!!

    c'est exactement,ce que j'ai fais,et ca marche parfaitement,mais une fois sur plaque labdec,plus rien

  15. #14
    Gérard

    Re : au secours!!!

    Citation Envoyé par MDN Voir le message
    c'est exactement ce que j'ai fait et ça marche parfaitement, mais une fois sur plaque labdec, plus rien
    Qu'est ce qui marche parfaitement ?

    Pour moi, quand ça marche, c'est le montage qui marche.

  16. #15
    invite2e667358

    Re : au secours!!!

    oui,désolé
    ben la connection avec hyperterminal,j'appuie sur la lettre,et la DEL,s'allume,il n'y a rien de plus simple que ca,mais sur une plaque labdec,la transmission fonctionne,je vois bien ma lettre sur l'oscilloscope en binaire,sur 8bits) et pareil sur la broche Rx du second PIc,mais le pic ne reagit pas,et une fois l'alimentation du second pic est eteint,là,elle s'allume et fais son cycle 2 fois....

  17. #16
    invite7a49d0d5

    Smile Re : au secours!!!

    Citation Envoyé par Gérard Voir le message
    C'est à se demander qui est le troll !
    hi ;O]



    vede
    ;O]

  18. #17
    Gérard

    Re : au secours!!!

    Citation Envoyé par MDN Voir le message
    oui,désolé
    ben la connection avec hyperterminal,j'appuie sur la lettre,et la DEL,s'allume,il n'y a rien de plus simple que ca,mais sur une plaque labdec,la transmission fonctionne,je vois bien ma lettre sur l'oscilloscope en binaire,sur 8bits) et pareil sur la broche Rx du second PIc,mais le pic ne reagit pas,et une fois l'alimentation du second pic est eteint,là,elle s'allume et fais son cycle 2 fois....
    On ne comprend rien !
    C'est quoi ton montage :
    PIC --> PIC
    PIC --> hyperterminal

    Et le schéma et le programme ?

  19. #18
    invite2e667358

    Re : au secours!!!

    Avant de pouvoir faire communiquer 2 pic,jdois les tester separement avec hyperterminal,et chacun fonction parfaitement.....
    Code:
    programme transmission
    #include<io16f876a.h>		   // Prototype
    #include"LCDdrive.h"
    
    void serial_intial_trans(void);
    void serial_intial_rec(void);
    void serial_putchar(unsigned char cD);
    void Small_Delay(void);
    unsigned char words[]={"AB"};
    int i,j,cD,m;
    
    
    void main(void)
    {
    serial_intial_trans();		//Initialisation of transmission
    serial_intial_rec();           // Iniatilisation of reception
    TRISB=0xc0;
    TRISA=0x00;
    PORTB=0x00;
    PR2 = 21;                      //frequency of 40KHz(PWM)//
    CCPR1L = 11;	                  //Duty cycle//
    T2CON  = 4;	                   //Enable TMR2,prescaler 1//
    TRISC = TRISC&0xFB;                //PORTC.2 and 3 output//
    CCP1CON = CCP1CON | 0x0C;        // Enable PWM//
    
    while(1)
     {
     if(RB7)
      {
      Small_Delay();
      serial_putchar(0x41);
      }
      
     if(RB6)
      {
       Small_Delay();
       serial_putchar(0x42);
      }
     }
    }
    
    //Config for the Transmission TXSTA and RXSTA //
    void serial_intial_trans(void)
    {
    SYNC=0; 
    BRGH=1;           
    SPEN=1;           //serial port enabled
    SPBRG=88;         //9600 baud
    TXIE=1;           //Disable interruption
    TX9=0;             //8-bit transmission
    TXEN=1;           //set baud rate to high BRGH=1  and TXEN=1
    }
    
    void serial_putchar(unsigned char cD)
    {
      while(TXIF!=1);  // If 1,emission register is empty,so we go out the loop
      TXREG=cD;       //We place the character cD to send in the TXREG register
      //RCIE=1;	//Enable Reciever interrupt
      TXIF=0;   // Disabling Transmission flag
    }
    
    
       	  
    void serial_intial_rec(void)
    {
    SYNC=0;
    RX9=0;             
    SPEN=1;           
    BRGH=1;
    SPBRG=88;
    //RCIE=1;           //Enable interupt.
    CREN=1;            //continuous recieve enable bit.
    
    }
    
    void Small_Delay(void)
    {
    unsigned int j;
    for(j=0;j<32000;j=j+1);    // do it until J reac
    }
    ///////////////////////////////////////////////////
    programme reception
    #include<io16f876.h>		   // Prototype
    #include"LCDdrive.h"
    
    
    void serial_initial_rec(void);
    void delay(unsigned char t);
    unsigned char mymodule[]={"In Living Room"};
    unsigned char mymodule1[]={"You'Re Going Out"};
    unsigned char mymodule2[]={"Be careful!"};
    unsigned char mymodule3[]={"Everything is OK"};
    
    int i,j;
    unsigned char t;
    
    
    void main(void)
    {
    serial_initial_rec();
    OPTION=0x07;      /*set prescaler to 256*/
    ADCON0=0X07;
    TRISA=0x00;
    TRISB=0xC0;
    PORTA=0x00;
    PORTB=0;
    TRISC=0x80;
    LCD_initialise();
    
    for(;;)
     {
     if(RCIF==1)   // when the octet is sent RCIF goes to 1,PORTB take the value of RCREG
     {
      //  PORTA=RCREG;
     if(RCREG==0x41)   // = A      
        {
         PORTA=0x01;
         delay(2);
         LCD_cursor(0,0);    /*move the cursor to the 1st line*/    
         LCD_puts(mymodule);
         LCD_cursor(0,1);    /*move the cursor to the 2nd line*/ 
         LCD_puts(mymodule3);
         delay(8);
         LCD_clear();
         PORTA=0;
       }
        
      if(RCREG==0x42)   // = B
        {
         
         LCD_cursor(i,0);    /*move the cursor to the 1st line*/    
         LCD_puts(mymodule1);
         delay(2);
         PORTA=0x02;
         LCD_initialise();
         LCD_cursor(0,0);    /*move the cursor to the 1st line*/    
         LCD_puts(mymodule2);
         for (j=0;j<5;j++)
          {
          PORTA=0x02;    // Bip        
          delay(1);              
          PORTA=0x00;          
          delay(1);
          } 
          LCD_clear();
          PORTA=0;
        }
        RCIF=0;
      }
    }
    }
    void serial_initial_rec(void)
    {
    SYNC=0;
    RX9=0;             
    SPEN=1;           
    BRGH=1;
    SPBRG=88;
    CREN=1;            //continuous recieve enable bit.
    
    }
    void delay(unsigned char t)      /*delay function*/
    {
    int a,b;
    for(a=0;a<t;a++)
     {
      for(b=0;b<8;b++)
       {
        TMR0=0;                //clear TMRO
        while(TMR0-200);     //wait for a while
       }
     }
    }
    ///////////////////////////////////////////////
    voila
    .
    Dernière modification par gienas ; 20/08/2009 à 18h09. Motif: Ajouté les balises code

  20. #19
    Gérard

    Re : au secours!!!

    Désolé, je ne pratique pas le C.

Discussions similaires

  1. besoin d'aide exercices pour m'antrainer mes j'ai besoin d'aide
    Par invite5e082da7 dans le forum Physique
    Réponses: 4
    Dernier message: 06/12/2008, 21h37
  2. cherche code pour communication SPI entre deux PICs...
    Par invite8f8ffe44 dans le forum Électronique
    Réponses: 1
    Dernier message: 24/04/2008, 19h12
  3. Besoin d'aide pour compatibilié entre batterie et moteur de bateau electrique...
    Par invitece8ec405 dans le forum TPE / TIPE et autres travaux
    Réponses: 4
    Dernier message: 10/01/2008, 19h52
  4. besoin d'aide pour la programmation de la RS232
    Par inviteae15e555 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 05/06/2007, 19h34
  5. Besoin d'aide, hésitation entre parcours fac maths
    Par invitedc6bc5e7 dans le forum Orientation après le BAC
    Réponses: 2
    Dernier message: 06/04/2006, 15h53
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...