Probleme init UART2 a 1200 bds et Q=20Mhz (C18)
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Probleme init UART2 a 1200 bds et Q=20Mhz (C18)



  1. #1
    paulfjujo

    Probleme init UART2 a 1200 bds et Q=20Mhz (C18)


    ------

    Bonjour,

    J'ai rencontré un probleme avec une init d'UART2 sur un PIC18F46K22 (sous MLPAB C18)
    en utilisant la librairie C18,
    suite à une modif de frequence
    AVANT : FOSC interne 16Mhz ... init OK
    APRES : FOSCs avec Q=20Mhz .. probleme

    question: le parametre de passage est il limité à 8 bits , soit 255 maxi ?

    Apres re-consultation de la datasheet (page 283) du PIC et des tableaux BRG fonction de FOSC
    j'ai rajouté les instruction forcant SPBRG à la valeur de 4160 ( valeur prevue pour 4Mhz=832 * 5 => 4160)
    et BRG16=1 BRGH=1
    ... et c'est OK !

    nota: j'utilise en meme temps UART1 à 19200 bauds
    qui ne m'a posé aucun probleme lors du passage de 16MHz à 20 Mhz
    avec la classique init UART et ajustement du BRG. de 51 pour 16Mhz à 65 pour 20Mhz
    mais ici le parametre reste inferieur à 255 ..

    Doit-on en conclure qu'il vaudrait mieux initialiser les UART directement (in manual mode!)
    via les registres plutot que d'utiliser les bibliotheques ?



    Code:
    void Init_UART2_TeleInfo(void)
    {
    // init 1200,E,7,1  10Mhz avec IT en rx
    // voir para 18.5 spec sheet DS41159B page 186
    Open2USART( USART_TX_INT_OFF &
    USART_RX_INT_OFF &       //interrupt  NON armee
    USART_ASYNCH_MODE &
    USART_CONT_RX &
    //USART_SINGLE_RX &
    USART_EIGHT_BIT &        // use of 7 bits 8em bit =Parite
    //USART_BRGH_LOW,208  // 16Mhz FOSC interne sans PLL  ... OK 
    //USART_BRGH_HIGH,260 // Q=20Mhz init 1200,E,7,1 avec IT en rx  ... BAD
    USART_BRGH_LOW,260 // Q=20Mhz init 1200,E,7,1 avec IT en rx  ... BAD
    );
    // ..mais  OK avec surcharge ci dessous
    TXSTA2bits.BRGH=1;
    BAUDCON2bits.BRG16=1;
    SPBRGH2=0x10; //4160
    SPBRG2=0x40;
    }

    -----

  2. #2
    vincent66

    Re : Probleme init UART2 a 1200 bds et Q=20Mhz (C18)

    Bonjour
    Je ne suis pas coutumier de C18 mais je crois que tu as bien saisi le problème : les registres sont de 8 bit et la valeur max est bien 255...
    Si tu le peux utilise Fosc/2 soit 10MHz comme horloge du baudrate generator...

    Vincent
    Leonardo était ingénieur "sans papier", et moi diplômé juste...technicien...

  3. #3
    paulfjujo

    Re : Probleme init UART2 a 1200 bds et Q=20Mhz (C18)

    bonsoir,

    merci pour la confirmation.

    Citation Envoyé par vincent66 Voir le message
    Si tu le peux utilise Fosc/2 soit 10MHz comme horloge du baudrate generator...
    je n'ai pas vu cette possibilité dans la datasheet du PIC18F46K22
    n'est-ce valable que sur certains PIC18F ?
    sinon, la config "en manuel" me va bien.

  4. #4
    inoxxam

    Re : Probleme init UART2 a 1200 bds et Q=20Mhz (C18)

    Salut,
    Il y a un bit quelque part (BRG16, a verifier) qui permet d'utiliser le BRG comme un compteur 16 bits, et du coup il est divisé en deux registres (SPBRGH2 et SPBRG2 je crois).
    Dernière modification par inoxxam ; 24/10/2013 à 18h18.

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

    Re : Probleme init UART2 a 1200 bds et Q=20Mhz (C18)

    c'est ce que j'ai utilisé voir code post#1

    Citation Envoyé par inoxxam Voir le message
    Salut,
    Il y a un bit quelque part (BRG16, a verifier) qui permet d'utiliser le BRG comme un compteur 16 bits, et du coup il est divisé en deux registres (SPBRGH2 et SPBRG2 je crois).

Discussions similaires

  1. Quartz 20Mhz / 4 sur pic 18F4550
    Par Francois06 dans le forum Électronique
    Réponses: 21
    Dernier message: 29/05/2012, 22h58
  2. Quartz 20Mhz au lieu de 4MHz ?
    Par invite2c55735f dans le forum Électronique
    Réponses: 28
    Dernier message: 06/12/2009, 17h45
  3. Oscillateur 20MHz
    Par invite71e77400 dans le forum Électronique
    Réponses: 6
    Dernier message: 07/04/2009, 20h17
  4. [Blanc] Probleme d'éssorage sur Far L 1200
    Par invite32ecb22a dans le forum Dépannage
    Réponses: 7
    Dernier message: 26/04/2007, 12h17
  5. Emetteur-récepteur 20MHz
    Par WhiteBird dans le forum Électronique
    Réponses: 8
    Dernier message: 28/09/2005, 20h33
Découvrez nos comparatifs produits sur l'informatique et les technologies.