Bonjour,
Je suis en train d'essayer de communiquer avec un module bluetooth RN-41 (dont voici la documentation http://ww1.microchip.com/downloads/e...r_UG-v1.0r.pdf) via un pic18F45K20 (dont la documentation est ici:http://ww1.microchip.com/downloads/e.../40001303H.pdf) .
Voici mon code:
main.c:
uart.c:Code:#pragma config FOSC = INTIO67, BOREN = OFF, WDTEN = OFF, LVP = OFF #include <p18f45k20.h> #include "uart.h" void main(void) { OSCCON = 0b01011100;// 4Mhz à 4MHz init_uart_blue(); init_bluetooth(); while(1); return; }
uart.h:Code:#include "uart.h" void init_uart_blue() { TRISC6 = 0; TRISC7 = 1; BRGH = 0; /* low/high baud rate */ // On a du 4Mhz SPBRG = 5; /* set the baud rate 9600 for 4 mhz clock */ SYNC = 0; /* asynchronous */ SPEN = 1; /* enable serial port pins */ CREN = 1; /* enable reception */ TX9 = 0; /* 8- or 9-bit transmission */ RX9 = 0; /* 8- or 9-bit reception */ TXEN = 1; /* enable the transmitter */ } void send_uart(char data) { while (!TXIF); TXREG = data; } void UART_envoi_chaine(char *mot) { int i; int c = 0; while(i != '\0') { send_uart(mot[i]); i++; } } void init_bluetooth(void) { int i =0; char mode_conf[3] = "$$$"; char nom[7] = "SN,TEST"; UART_envoi_chaine(mode_conf); while(i<99) { i++; } UART_envoi_chaine(nom); }
Je me suis inspiré de ce tutoriel pour réaliser mon programme:Code:#ifndef UART_HEADER_TEMPLATE_H #define UART_HEADER_TEMPLATE_H #include <xc.h> void init_uart_blue(); void send_uart(char data); void UART_envoi_chaine(char *mot); void init_bluetooth(void); #endif
http://www.fantaspic.fr/viewtopic.php?f=15&t=191
Pour l'instant j'essaye simplement de changer le nom du module en test mais le problème, c'est que cela ne se fait pas, je pense que le problème se situe dans l'envoie des commandes de mon pic vers le module mais je ne sais pas ce qu'il manque .
Quelqu'un aurait une idée ?
Merci d'avance pour votre aide
-----