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

Probleme de configuration du module UART1 de ma carte maxi web



  1. #1
    DECON

    Probleme de configuration du module UART1 de ma carte maxi web

    Bonjour chers tous
    J'ai besoin de votre appui pour débloquer mon programme en langage C. Comme compilateur j'utilise SDCC
    J'ai une carte MAXI WEB avec le PIC 18F97J60. Je desire afficher un menu de choix de certaines taches une fois les parametres de communication UART défini.
    J'ai configuré mon hardwareprofile.h j'ai configuré mon UARTConfig , Dans mon main j'ai fait l'initialisation du module UART1 avec les bits concerné du registre TXSTA1 ,RCSTA et BAUDCON. Une fois le programme transféré sur la carte et apres connexion à mon PC sur le port RS32 je recois des caractères "bizare" à l'écran je ne saurais dire si c'est mon menu ou autre chose. Je suis a votre écoute.

    -----


  2. Publicité
  3. #2
    RISC

    Re : Probleme de configuration du module UART1 de ma carte maxi web

    Salut,
    Peux-tu faire voir le fichier qui contient tes bits de configuration ?
    Utilises-tu le configurateur intégré dans MPLAB X pour générer le code C qui génère les bits de configuration ?
    a+
    Ma marotte ? les microcontrôleurs ;=)

  4. #3
    DECON

    Re : Probleme de configuration du module UART1 de ma carte maxi web

    J'utilise gedit sous linux pour éditer les codes à partir du package de code de base TCPIP_STACK . Voici ma configuration

    //Configurtion du module EUSART1
    // Initialisation du module EUSART1
    //TXSTA1 TRANSMIT STATUS AND CONTROL REGISTER

    //Configuration du port C pour le module UART
    TRISCbits.TRISC6=0; // PORTC6 en sortie; Emission
    TRISCbits.TRISC7=1; // PORTC7 en entrée; Réception
    INTCONbits.GIE=1;// Activation des interruptions
    INTCONbits.PEIE=1;//Activation des interruptions sur péripherique
    TXSTA1bits.BRGH=1 ;//Hight Speed select
    BAUDCON1bits.BRG16 = 0;//8_Bit Baud Rate Register Enable bit
    SPBRG1=135; //Initialisation du SPBG1
    TXSTA1bits.SYNC=0; //EUSART1 Mode Select bit Asynchrone mode
    TXSTA1bits.TX9=0; // Transmission en mode 8 bits
    TXSTA1bits.TXEN=1;// TX activé même non utilisé
    RCSTA1bits.CREN=1; // Active receiver modeContinuous Receive Enable bit
    RCSTA1bits.SPEN=1;//Activation dub port reeption
    RCSTA1bits.RX9=0;//Réception en mode 8 bits
    //Serial port is enabled (configures RXx/DTx and TXx/CKx pins as serial port pins) p317
    //Configuration du port C et J pour le module UART
    //TRISCbits.TRISC6=0; // PORTC6 en sortie; Emission
    //TRISCbits.TRISC7=1; // PORTC7 en entrée; Réception
    //TRISJbits.TRISJ0=0; // PORTJ0 en sortie; LED éteinte
    //TRISJbits.TRISJ1=1; // PORTJ1 en sortie; LED éteinte


    INTCON2bits.RBPU = 0;//all PORTB pull-ups are disabled


    //TRISGbits.TRISG6 = 1;

    //LATGbits.LATG6 = 1;

    // Enable Interrupts
    RCONbits.IPEN = 1; // Enable interrupt priorities
    INTCONbits.GIEH = 1;
    INTCONbits.GIEL = 1;
    //Enable interruptions de la partie UART
    PIR1bits.TX1IF=1;//Transmit Interrupt flag bit
    //PIR1bits.RC1IF=0// EUSART1 Receive interrupt flag bit
    PIE1bits.TX1IE=1; // EUSART1 Transmit Interrupt enable bit
    PIE1bits.RC1IE=1 ;// EUSART1 Receive Interrupt enable bit

  5. #4
    RISC

    Re : Probleme de configuration du module UART1 de ma carte maxi web

    Salut,

    Tu n'as pas répondu à ma question....
    Je ne t'ai pas demandé les registres des périphériques du PIC mais les bits de configurations (regarde la documentation).
    Ces bits sélectionnent le reset, l'horloge du PIC,....si tu as un quartz sur ta carte et que l'horloge sélectionnée est l'oscillateur interne, ta carte ne risque pas de fonctionner...ni ton UART.
    Quel environnement de développement utilises-tu ?
    MPLAB X est gratuit et existe sous Linux ainsi que les compilateurs ;=)

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

  6. #5
    DECON

    Re : Probleme de configuration du module UART1 de ma carte maxi web

    les Bits de configurations se trouvent dans le hardwareprofiles.h dont voici les lignes relatives a mon materiel
    #elif defined(_18F97J60) || defined(_18F96J65)\
    || defined(_18F96J60) || defined(_18F87J60) || defined(_18F86J65)\
    || defined(_18F86J60) || defined(_18F67J60) || defined(_18F66J65)\
    || defined(_18F66J60) && defined(HI_TECH_C)
    // PICDEM.net 2 board or any other PIC18F97J60 family device
    //with HI-TECH PICC-18 compiler
    __CONFIG(1, WDTDIS & XINSTDIS);
    __CONFIG(2, HSPLL);
    __CONFIG(3, ETHLEDEN);

    #elif defined(_18F97J60) || defined(_18F96J65)\
    || defined(_18F96J60) || defined(_18F87J60) || defined(_18F86J65)\
    || defined(_18F86J60) || defined(_18F67J60) || defined(_18F66J65)\
    || defined(_18F66J60) && defined(__SDCC__)
    // PICDEM.net 2 board or any other PIC18F97J60 family device
    // with HI-TECH SDCC compiler
    __CONFIG(__CONFIG1L, 0x9e); // !!! DISABLE XINST (bit6) or else
    //unpredictable results... - disable WDT (bit0)
    // (but may be enabled by software) !!!
    __CONFIG(__CONFIG1H, 0xf7);
    __CONFIG(__CONFIG2L, 0xfd); // HS oscillator, PLL enabled and
    // under software control
    __CONFIG(__CONFIG2H, 0xf9); // low bits determine WDT period, here
    // 2,5 sec: useless here cause WDT disabled
    __CONFIG(__CONFIG3L, 0xff);
    __CONFIG(__CONFIG3H, 0xfb); // enable ETH LEDs

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

    Re : Probleme de configuration du module UART1 de ma carte maxi web

    Pour l'oscillateur interne
    #if defined(__18CXX)
    // All PIC18 processors
    #if defined(PICDEMNET2) || defined(INTERNET_RADIO) || defined(OLIMEX_MAXI)\
    || defined(OLIMEX_MICRO) || defined(OLIMEX_P67J60) || defined(PIC_WEB)
    #define GetSystemClock() (41666667ul) // Hz
    #define GetInstructionClock() (GetSystemClock()/4)
    #define GetPeripheralClock() GetInstructionClock()
    #elif defined(__18F87J50) || defined(_18F87J50)
    #define GetSystemClock() (48000000ul) // Hz
    #define GetInstructionClock() (GetSystemClock()/4)
    #define GetPeripheralClock() GetInstructionClock()
    #else
    #define GetSystemClock() (40000000ul) // Hz
    #define GetInstructionClock() (GetSystemClock()/4)
    #define GetPeripheralClock() GetInstructionClock()
    #endif

  9. Publicité
  10. #7
    RISC

    Re : Probleme de configuration du module UART1 de ma carte maxi web

    Salut,

    Le problème vient peut être du fait que tu utilises SDCC.....
    Je pense que certains des #ifdef ci-dessus ne sont valides que pour le compilateur Hitech.
    Utilises-tu MPLAB X ?
    L'avantage c'est que l'éditeur te fait voir le code qui sera compilé et "grise" le code non compilé.
    Je n'ai aucun manière de savoir pour le code que tu montres si cela sera compilé, tant que je ne sais pas quel environnement tu utilises (MPLAB X?)

    Si tu utilises MPLAB X, peux-tu me copier uniquement le code non-grisé des bits de configuration ?

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

Sur le même thème :

Discussions similaires

  1. Configuration module bluetooth HCI commands
    Par comptet dans le forum Électronique
    Réponses: 3
    Dernier message: 29/04/2015, 11h14
  2. [PIC24FJ] - Configuration du module ADC
    Par jorg1n dans le forum Électronique
    Réponses: 5
    Dernier message: 05/10/2011, 20h40
  3. PIC18F6722 - Configuration (INIBITION Module CCP)
    Par jorg1n dans le forum Électronique
    Réponses: 7
    Dernier message: 16/09/2008, 22h42
  4. carte graphique a 180euros maxi pour gamer
    Par wul954 dans le forum Matériel - Hardware
    Réponses: 6
    Dernier message: 12/09/2007, 22h33
  5. Réponses: 1
    Dernier message: 27/05/2005, 21h16