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

communication entre deux UART dans le même PIC (pic18f25k22



  1. #1
    rouja_rouja

    communication entre deux UART dans le même PIC (pic18f25k22


    ------

    Bonjour,
    Je travaille actuellement sur mon projet de fin d'études et je suis bloquée au niveau du code pour communiquer les deux UART du pic18f25k22.
    Voila mon code. Aidez moi SVP
    Code:
    int i;
    char code_barre[13];
    
    char UART_1(void)
    {
      UART1_Init(4800); // Initialize UART module at 9600 bps
      Delay_ms(100); // Wait for UART module to stabilize
      
      TXSTA=0x20; // initialise TX
      RCSTA=0x90; // Initialise RX
      
      while(1)
      {
      if ( UART1_Data_Ready() == 1 )     //If data is received
      for (i=1; i<14; i++)
      
      code_barre[i] = UART1_Read();          //read the received data
      }
      return code_barre;
      }
      
    void UART_2(void)
      {
      
      UART2_Init(4800); // Initialize UART module at 9600 bps
      Delay_ms(100); // Wait for UART module to stabilize
    
      TXSTA=0x20; // initialise TX
      RCSTA=0x90; // Initialise RX
    
      while(1)
      {
      code_barre = UART2_Read();     // read the received data,
      UART2_Write(code_barre);       // and send data via UART
      }
      }

    -----
    Dernière modification par Antoane ; 27/04/2015 à 15h54. Motif: Ajout balises [code]

  2. Publicité
  3. #2
    paulfjujo

    Re : communication entre deux UART dans le même PIC (pic18f25k22

    bonjour,



    il faut ABSOLUMENT utiliser les interruptions et buffers de reception....

    un exemple d'application utilisant UART1 et UART2 en mode interruption
    sur un 18F46K22 ..

    Est-ce que tu as un caractere specifique "terminateur " sur ton string code-barre ( comme \0 ou \r)?
    ou est-ce toujours un string de la meme longueur (Nb de char) ?

  4. #3
    rouja_rouja

    Re : communication entre deux UART dans le même PIC (pic18f25k22

    oui j'ai un caractère spécifique \r Paulfjujo.. quant au longueur du string c la même puisque j'utilise les mêmes code barre.
    Est ce que tu peut m'expliquer ce que je dois faire exactement? merci

  5. #4
    rouja_rouja

    Re : communication entre deux UART dans le même PIC (pic18f25k22

    je suis vraiment débutante en programmation C embarqué et sur MikroC. SVP aidez moi.

  6. #5
    paulfjujo

    Re : communication entre deux UART dans le même PIC (pic18f25k22

    avec un terminateur \r, c'est plus facile..
    commence par regarder l'exemple (lien )
    qui a pour terminateur le car EOF pour UART2 et \r (CR) pour UART1
    et la gestion des buffers..
    Elimine tout le code qui n'a pas trait aux communications

    Definir les formats des 2 liaisons RS232 ( vittesse, nb de bit data, nb de stop, parité ou pas )
    Verifier is 2 UART Hardware presents sur ce PIC
    (sinon il faudra unUART Software en plus)

    Defifinir les bits de config et l'horloge du PIC
    Initialiser le hardware ...
    Initialiser les variables utilisées
    Initialiser l'UART1 Hardware
    Initialiser l'UART2 Hardware
    Armer les bits gestion interruption correspondants
    tester le tout dans une boucle infinie du main()
    si le flag correspondant à une Com UART (1 ou 2) est mis à 1
    traitement associé.
    Raz du flag
    ..etc..

    la transposition C18 ..mikroC n'est pas difficile.

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

    Re : communication entre deux UART dans le même PIC (pic18f25k22

    j'ai pas vraiment compris ce que je dois faire après l’initialisation des deux UART.

  9. Publicité
  10. #7
    paulfjujo

    Re : communication entre deux UART dans le même PIC (pic18f25k22

    commence par regarder l'exemple (lien )


    il faut bien sur Ecrire la routine d'interruption pour les 2 UART
    afin qu'elles soient appelée, des que les bits de gestuion interrupts sont armes (RC1IE,RC2IE,GIE..etc..)
    pour tester ensuite si un flag (DataReady1 ou DataReady2 ) est passé à 1...
    ce qui signifie qu'une trame terminée par \r est maintenat stockée dans le buffer associé..
    donc action à faire ..

    Aides-toi le ciel t'aideras..

    Presente quelque chose de concret et on verra...

  11. #8
    rouja_rouja

    Re : communication entre deux UART dans le même PIC (pic18f25k22

    okey... j'essayerai merci bien

Sur le même thème :

Discussions similaires

  1. Difficulté de communication entre deux PIC
    Par Zonda G25 dans le forum Électronique
    Réponses: 9
    Dernier message: 24/04/2015, 20h05
  2. Communication entre deux Pics 18F4520 Via UART
    Par elifaham dans le forum Électronique
    Réponses: 1
    Dernier message: 28/05/2014, 14h36
  3. Communication UART entre Pic et RS232
    Par csjan dans le forum Électronique
    Réponses: 2
    Dernier message: 01/02/2013, 01h06
  4. communication i2c entre deux pics
    Par frednico56 dans le forum Électronique
    Réponses: 2
    Dernier message: 02/11/2007, 23h56
  5. Communication entre deux réseaux?
    Par mastronic dans le forum Internet - Réseau - Sécurité générale
    Réponses: 9
    Dernier message: 07/02/2007, 17h50
Découvrez nos comparatifs produits sur l'informatique et les technologies.