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

Problème UART sur PIC 18F13K22



  1. #1
    VIIV

    Problème UART sur PIC 18F13K22


    ------

    Bonjour,

    J'ai dois mettre en place une communication série via le module EUSART du PIC 18F13K22 dans le cadre d'un projet. J'arrive à envoyer des données du PIC mais pas de les recevoir.

    Je configuré les registres pour travailler en mode 8 bit asynchrone à 20 Kbauds. Comme déjà dit, pas moyen de détecter une réception du côté du PIC, pourtant la transmission se fait bel et bien (Vérifié sur oscillo).

    Code:
    #include <p18cxxx.h>
    
    
    #pragma config FOSC=IRCCLKOUT
    #pragma config PLLEN=OFF		// PLL active par par le software
    #pragma config FCMEN=OFF
    #pragma config PCLKEN=OFF	// Primary clock under software control
    #pragma config IESO=OFF		// Internal/external switch clock
    #pragma config PWRTEN=OFF
    #pragma config BOREN=ON
    #pragma config BORV=30
    #pragma config WDTEN=OFF	// Watchdog OFF
    #pragma config WDTPS=1
    #pragma config HFOFST=OFF	// System clock OFF until internal oscillator stable
    #pragma config MCLRE=ON
    #pragma config STVREN=ON	// Reset if stack full
    #pragma config LVP=OFF
    #pragma config BBSIZ=OFF	// 512K boot block
    #pragma config XINST=OFF
    #pragma config CP0=OFF
    #pragma config CP1=OFF
    #pragma config CPB=OFF
    #pragma config CPD=OFF
    #pragma config WRT0=OFF
    #pragma config WRT1=OFF
    #pragma config WRTC=OFF
    #pragma config WRTD=OFF
    #pragma config WRTB=OFF
    #pragma config EBTR0=OFF
    #pragma config EBTR1=OFF
    #pragma config EBTRB=OFF
    
    
    #pragma code
    void main (void)
    {
    	OSCCON = 0b01110000;
    	OSCTUNEbits.PLLEN = 1;
    	while (!OSCCONbits.HFIOFS);
    
    	PORTB = 0;
    	LATB = 0;
    	TRISB = 0b10100000;
    
    	// EUSART
    	SPBRG = 199;		// 20 kbaud
    	BAUDCON = 0;
    
    	TXREG = 0;
    
    	TXSTA = 0b00100100;
    	RCSTA = 0b10010000;
    	
    	while(1)
    	{
    		if (PIR1bits.RCIF)
    			LED = 1;
    	}
    }
    Pour envoyer les caractères au PIC j'utilise l'outil UART tool du PICKit 2. J'ai beau essayer de scruter le flag d’interruption, de lire le registre RCREG en boucle pour voir si un changement a eu lieu ou encore vérifier les flags d'erreurs de la réception, il ne se passe rien. (J'utilise C18 comme compilo).

    Quelqu’un aurait une idée?

    Merci

    -----

  2. Publicité
  3. #2
    gcortex

    Re : Problème UART sur PIC 18F13K22

    pas de court-circuit entre RX et TX ?

  4. #3
    VIIV

    Re : Problème UART sur PIC 18F13K22

    Non, il n'y a rien de connecté sur ces broches a pars le PICKit.

  5. #4
    gcortex

    Re : Problème UART sur PIC 18F13K22

    regarde à l'oscillo si une trame arrive

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    VIIV

    Re : Problème UART sur PIC 18F13K22

    Citation Envoyé par gcortex Voir le message
    regarde à l'oscillo si une trame arrive
    C'est déjà fait. Elle arrive bel et bien sur la broche RB5.

  9. #6
    RISC

    Re : Problème UART sur PIC 18F13K22

    Salut,

    Si tu utilises l'oscillateur RC interne, tu ne peux "garantir" le fonctionnement de ton UART que de 0 à 60C (voir datasheet).

    ensuite Lis le chapitre 8.2...tu auras la réponse à ton problème..

    a+
    Ma marotte ? les microcontrôleurs ;=)

  10. Publicité
  11. #7
    VIIV

    Re : Problème UART sur PIC 18F13K22

    Citation Envoyé par RISC Voir le message
    Salut,

    Si tu utilises l'oscillateur RC interne, tu ne peux "garantir" le fonctionnement de ton UART que de 0 à 60C (voir datasheet).

    ensuite Lis le chapitre 8.2...tu auras la réponse à ton problème..

    a+
    Effectivement, faute de débutant. Le registre ANSELH est initialisé à '1' lors d'un reset, càd le buffer d'entrée analogique est utilisé par default.

    Merci beaucoup RISC. Il y a des personnes calées dans tous les domaines sur ce forum, c'est vraiment cool.

    Encore merci et A+.

Discussions similaires

  1. Problème de configuration avec 18F13K22
    Par Bonnes perspectives dans le forum Électronique
    Réponses: 1
    Dernier message: 28/06/2013, 15h25
  2. uart sur pic 18f2550
    Par juju_du_26 dans le forum Électronique
    Réponses: 19
    Dernier message: 19/06/2013, 21h55
  3. PIC problème lecture uart
    Par mmarc2007 dans le forum Électronique
    Réponses: 10
    Dernier message: 02/11/2010, 20h18
  4. Problème de transmission par UART sur PIC 18F
    Par netdefense dans le forum Électronique
    Réponses: 2
    Dernier message: 18/03/2010, 08h34
  5. Possibilité d'avoir 2 UART sur un PIC ??
    Par fun_olivier dans le forum Électronique
    Réponses: 4
    Dernier message: 24/01/2006, 21h18
Découvrez nos comparatifs produits sur l'informatique et les technologies.