Bonsoir à tous.
Je suis étudiant de 1ère année en IUT GEII (Genie electrique et informatique industrielle).
J'ai pour projet de faire communiquer un module bluetooth HC-06 à un PIC18F252 via l'UART du pic afin d'éclairer une simple led dans un premier temps.
Je dispose d'un Pickit3 pour debbuger mon programme.
J'ai donc réaliser le code suivant qui compile bien :
J'utilise MPLAB ide 8v92 et le compiler c18.Code:#include <p18f252.h> #include <delays.h> #pragma config OSC = HS #pragma config PWRT = ON #pragma config BOR = OFF #pragma config WDT = OFF #pragma config DEBUG = ON #pragma config LVP = OFF #define LED PORTBbits.RB0 void main(void) { TRISCbits.TRISC6 = 0; //TX TRISCbits.TRISC7 = 1; //RX TRISBbits.TRISB0 = 0; //UART TXSTA = 0x24; /* bit 7 : Inutile en mode asynchrone bit 6 : Inutile içi car on veux seulement recevoir bit 5 : Transmission activé bit 4 : Mode Asynchrone bit 3 : Non implémenté bit 2 : Baud rate generator HIGH SPEED bit 1 : Inutile içi car on veux seulement recevoir bit 0 : Inutile içi car on veux seulement recevoir */ RCSTA = 0x90; /* bit 7 : Activation des ports RX/TX (Enable serial port) bit 6 : 8 bit reception bit 5 : Non implémenté bit 4 : Reception activé (Enable receiver) bit 3 : Non implémenté bit 2 : No framming error bit 1 : No overrun error bit 0 : Inutile en mode 8 bits */ SPBRG = 64; //car le HC06 communique à 9600Kbaud //FIN_UART LED = 0; while(1) { if(PIR1bits.RCIF == 1) { LED = ~LED; PIR1bits.RCIF = 0; } } }
Le problème survient lorsque je run le programme, en effet le programme s’exécute correctement jusqu'au moment ou le port RX reçoit un message.
A ce moment le programme se stoppe avec l'information "target halted" dans la zone de debug.
J'insiste sur le fait que ceci se produit seulement au moment ou j'envoi un message sur le port Rx du pic.
J'ai déjà pas mal cherché sur le net à la recherche de solutions mais toutes celles proposées ne sont pas venus à bout de mon problème.
Je compte sur votre aide, merci et bonne fin de soirée
-----