Autor Tema: Recibir SMS con PIC16f877A y SIM800L  (Leído 699 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 6750
Re:Recibir SMS con PIC16f877A y SIM800L
« Respuesta #30 en: 26 de Julio de 2018, 23:46:35 »
No se donde es que ve que posiblemente exista una re-entrada, pero es cualquiera el warning que tira.

Desconectado martinchd

  • PIC10
  • *
  • Mensajes: 20
Re:Recibir SMS con PIC16f877A y SIM800L
« Respuesta #31 en: 28 de Julio de 2018, 09:41:09 »
La verdad que me esta haciendo renegar bastante... ya me ira a salir.    :D :D :D :D :D

Desconectado martinchd

  • PIC10
  • *
  • Mensajes: 20
Re:Recibir SMS con PIC16f877A y SIM800L
« Respuesta #32 en: 08 de Agosto de 2018, 11:19:47 »
No me doy cuenta en que me estoy equivocando, no puedo recibir SMS.

Código: C
  1. #include <16F877a.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #use delay(clock = 4000000)
  5. #fuses XT,NOWDT,NOLVP
  6. #use fast_IO(B)  
  7. #use RS232(BAUD=9600,BITS=8,PARITY=N,XMIT=PIN_C6,RCV=PIN_C7)
  8. #include <lcd.c>
  9.  
  10. char bufferRX[2][17];
  11. int8 indiceBuff = 0;
  12. int8 indice = 0;
  13. int1 mostrar;
  14.  
  15. #int_rda
  16. void serial_isr() {
  17.  
  18.   if(kbhit()){
  19.     bufferRX[indiceBuff][indice] = getc();
  20.     indice++;
  21.     if(indice >= sizeof bufferRX)
  22.     {
  23.       indice = 0;
  24.       bufferRX[indiceBuff][16] = '\0'; //Una proteccion por las dudas
  25.       indiceBuff ^= 1;
  26.       mostrar = 1;
  27.     }
  28.   }
  29. }
  30.  
  31.  
  32. void main()
  33. {
  34.    
  35.     set_tris_b(0x00);
  36.     lcd_init();
  37.     delay_ms(200);
  38.     printf(lcd_putc,"Please wait... \n");
  39.     delay_ms(9000); //Tiempo hasta que inicie SIM00L
  40.     printf(lcd_putc," \fEsperando SMS... \n");
  41.    
  42.     enable_interrupts(int_rda);
  43.     enable_interrupts(global);
  44.    
  45.     printf("AT+CNMI=2,2,0,0,0");
  46.     printf("AT+CMGF=1");
  47.    
  48.     while(TRUE)
  49.     {
  50.       if(mostrar)
  51.       {
  52.         mostrar = 0;
  53.         printf(lcd_putc,"\f%s",&bufferRX[indiceBuff^1][0]);
  54.       }
  55.     }
  56. }




 

anything