Hola a todos. Estoy interactuando con GSM SIM900 con atmega32. Estoy tratando de extraer el contenido del mensaje. El usuario enviará un mensaje como CHANGE7532167845 a la SIM instalada en el dispositivo GSM. Así que para extraer esto estoy usando para bucle seguido de muchas condiciones. Todo lo que necesito hacer es guardar el número en otra variable. El siguiente es mi código:
for(int k =0; smscontent[k]!=NULL;k++)
{
if (smscontent[k] == 'C')
{
if (smscontent[k+1] == 'H')
{
if (smscontent[k+2] == 'A')
{
if (smscontent[k+3] == 'N')
{
if (smscontent[k+4] == 'G')
{
if (smscontent[k+5] == 'E')
{
if(isdigit(smscontent[k+6]))
{
serial_Tx("MATCH");
}
}
}
}
}
}
}
}
Mi control está llegando a isdigit
porque en la terminal me sale MATCH pero luego, ¿qué debo hacer para guardar el número en una variable? Por favor ayuda
función serial_Tx
void serial_Tx(char *str)
{
for (unsigned int i=0;str[i]!=0;i++)
{
UDR=str[i];
while(!(UCSRA&(1<<UDRE)));
}
}