Me dirijo a los expertos, ya que estoy empezando con el C para PIC. Mi problema es el siguiente: un modem GSM envía la siguiente secuencia en hexa: (lo veo con el hyperterminal)
07914306090969F5040B914336793446F800006020410135924009416650DA0C829E4E
Estoy tratando de averiguar si en esa secuencia se encuentra el string siguiente: 416650DA0C829E4E (si se encuentra y al final). Son formatos PDU de un SMS
Para ello:
include <16F876.h>
#include <string.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#define buffer_size 64
char buffer[buffer_size];
int next_in = 0;
int si_find=0;
char alarma_on[9] = {0x41,0x66,0x50,0xDA,0x0C,0x82,0x9E,0x4E,0x00}; Es preciamente el string que se busca
...
capturo el buffer
#int_rda
void serial_isr() {
int t;
buffer[next_in]=getc();
t=next_in;
next_in=(next_in+1) % buffer_size;
if(next_in==0 )
next_in=t;
y ahora em main() busco el string
si_find= strstr(buffer,alarma_on);
if (si_find != 0)
{
puts("Encontrado");
Pero resulta que no lo encuentra. ¿ Que estoy haciendo mal ?
Gracias adelantadas