Bonjour,
J'essaie d'intégrer un module gsm sim800L sur un pic18F45K20. Pour cela, je teste les différentes commande AT du module gsm. Et ça ne marche pas ... j'aimerais quelques conseil , svp !
Je vous mets mon code , ainsi que l'erreur
Merci
Code:#include <p18f45k20.h> #include <delays.h> #include <stdlib.h> #include <stdio.h> #include <usart.h> // initialisation des bits de configuration matérielle #pragma config FOSC = INTIO7 //clock #pragma config WDTEN = OFF #pragma config LVP = ON #pragma config MCLRE = OFF #define CONFIG_ADCON1 0x8e #define CONFIG_OSCILLATEUR_INTERNE 0x76 // 16 MHz internal #define SPEED_VALUE 25 // 25 pour 1 MHz pour 9600 // 103 pour 16 MHz pour 2400 avec BAUDRATE_16 =1 /** D E C L A R A T I O N S ******************************************/ void AT(){ // // Negotiate baud rate puts1USART("AT");** // Send "AT" string then wait for a short delay putc1USART(0x0D);** // Termination by CR (ASCII value of Enter in Hex) Delay10KTCYx(100);******* //100 millisecond delay } void AT0(){ // Disable command echo //puts1USART("AT0"); // Send "AT0" to disable echo mode putc1USART(0x0D); // Termination by CR (ASCII value of Enter in Hex) Delay10KTCYx(100); //100 millisecond delay } void ATCMGF(){ // Set message type as TEXT //puts1USART("AT+CMGF=1"); // Send "AT+CMGF=1" string to set SMS mode to TEXT putc1USART(0x0D); // Termination by CR (ASCII value of Enter in Hex) Delay10KTCYx(100); //100 millisecond delay } void ledControl(){ PORTEbits.RE2 = 1; Delay10KTCYx (160); // 400 ms PORTEbits.RE2 = 0; Delay10KTCYx (160); } void main() { char caractere; INTCONbits.GIEH = 0; // inhibe les interuptions TRISA = 0xFF; TRISB = 0xFF; TRISC = 0xBF; // 10111111 -> R6 (TX) est en sortie TRISD = 0xFF; TRISE = 0x0F; // RE0 en sortie PORTB = 0x00; PORTC = 0x00; PORTD = 0x00; PORTE = 0x00; ADCON1 = CONFIG_ADCON1; // OSCCON = CONFIG_OSCILLATEUR_INTERNE; // OSCTUNEbits.PLLEN = 0; // par defaut stdout = _H_USART; // stdout = _H_USART; Open1USART(USART_TX_INT_OFF & USART_RX_INT_OFF & USART_ASYNCH_MODE & USART_EIGHT_BIT & USART_CONT_RX & USART_BRGH_LOW , SPEED_VALUE ); Delay10KTCYx (160); // 400 ms INTCONbits.PEIE = 0; INTCONbits.GIEH = 0; do { AT(); } while(1); }
-----