I am using PIC18F2520
and trying to communicate with GSM SIM900
. I am using UART interrupt to receive data from the GSM. I am saving each byte in rxData. Now most of the commands ends with response OK
. But there are few commands which does not respond with OK
like when we receive sms notification from GSM, GSM send following notification
+CMTI: "SM",2
Now this response doesn't have any OK
. How to receive data in this case. In my application I need to check for the received sms. I am using following code:
void rx_handler(void)
{
rxData[index] = ReadUSART();
if(<some condition>) //condition to check for sms notification
{
rxFlag = 1; //set flag to process it in main loop
}
index++;
PIR1bits.RCIF==0;
}
I am getting confused on how to check for the sms notification. Till now for other commands, I was setting condition for OK but this doesnt have any OK response. Please help.
\r \n
but what happens is lets say I sendAT\r
so it stops after this command and doesnt wait for response. I checked into the buffer while debugging and found out that it stores ` A T \r \r \n` so due to last\r \n
it stops after sending command and doesnt wait for response from sim900 \$\endgroup\$\r\n
and look for the second pair of\r\n
you receive.. \$\endgroup\$\r\n
sequences, acknowledge the first and stop and the second as Alin has told you. \$\endgroup\$