Bonjour,
Je rencontre des problèmes pour faire fonctionner correctement l'USART de mon PIC 18F2685.
J'ai réussi à l'utiliser en émission et réception il y a quelques mois ainsi que les interruptions associées. J'avais écrit un code me permettant de récupérer les trames d'un GPS en 4800bauds, il fonctionnait à merveille, je récupérais toutes les infos...
Depuis quelques jours, comme j'ai du temps libre, je me suis remis à mon projet, j'ai donc récupéré mon ancien code, mais il ne fonctionne plus.
Je l'ai ainsi "épuré" afin de ne garder que la partie réception sans interruption, mais je n'arrive plus à récupérer quoi que ce soit.
Voici le code en C18 sous Mplab :
Pour info, j'ai un Pickit2, j'ai bien vérifié que mon GPS fonctionnait, transmission 8bits de data, 1 bit de stop, pas de parité, 1200bauds dans l'exemple ci-dessus.Code:#include <p18cxxx.h> #include <usart.h> void main(void){ //Trame : $GPRMC,101443.000,A,4839.0708,N,00226.6614,E,0.07,14.08... char inputstr[75] = ""; OSCTUNE = 0x00; OSCCON = 0b01100000; //4Mhz oscillateur interne TRISC=0b10000000; OpenUSART( USART_TX_INT_OFF & USART_RX_INT_OFF & USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_CONT_RX & USART_BRGH_HIGH, 207 ); while(1){ while (!DataRdyUSART()); getsUSART(inputstr, 70); Nop(); } }
Merci pour votre aide, je suis vraiment ennuyé et ralenti dans mon projet !
N'hésitez pas si vous avez des questions...
Martin
-----