Bonjour,
Je fais remonter ce post car je cherche à récupérer des infos provenant de l'USART d'un PIC18F4553.
Je cherche tout d'abord à récupérer sur PuTTY un simple Hello World.
Voici à quoi ressemble mon programme :
Voilà, les valeurs de BRGH et SPBRG ont été trouvé par rapport à la datasheet, pour avoir une com de 9600 baud.Code:#include <stdio.h> #include <stdlib.h> #include<pic18f4553.h> #include <plib/usart.h> #include <xc.h> #pragma config... (je vous passe les lignes qui vont de config1l à config7h) #define IRCF.OSCCON=0x06 //equivaut à 4MHz void putch (char c) { while (!TRMT); TXREG = c; } void main() { double y=3014151; TRISC=0; //OpenUSART(USART_TX_INT_OFF & USART_RX_INT_ON & //USART_ASYNCH_MODE & USART_EIGHT_BIT & //USART_CONT_RX & USART_BRGH_LOW, 31); //Activer les modes d'opération SYNC = 0; //Setting Asynchronous Mode, ie UART SPEN = 1; //Enables Serial Port TRISC7 = 1; //As Prescribed in Datasheet TRISC6 = 1; //As Prescribed in Datasheet //initialiser le débit à 9600 bauds BRGH = 1; SPBRG = 25; //CREN = 1; //Enables Continuous Reception TXEN = 1; //Enables Transmission y=1.0/3.0; printf("Hello, world by prinf %10.6f!\n\r",y); putsUSART("Hello, world by putsUSART !\n\r"); while(1); }
J'utilise un câble FTDI TTL-232R-3V3-WE, windows me détecte mon matériel et le met en COM5.
Dans PuTTY, je règle la liaison série avec les paramètres suivants :
Ligne : COM5
Vitesse : 9600
Data bits : 8
Stop bits : 1 (j'ai essayé d'en mettre 2 vu que je ne me sers pas du 9ème bit pour la parité mais même soucis)
Pas de parité ni de contrôle de flux
Quand je lance le terminal, j'obtiens ceci :
Ca ressemble bien à un problème de config entre le PIC et PuTTY non ? Quand je fais un reset du PIC, je remarque que c'est le même motif qui est envoyé.
Merci de votre aide.
-----