0
我在Sim300上工作,試圖通過串行通信在atmega16上接收短信。 當我從我的手機發送「* 23#」短信給gsm調制解調器時,gsm發送 「\ r \ n + CMGR:\ s」REC \ sUNREAD「,」+ 919762148043「,」14/03/13,23 :04:32 + 22「\ r \ n * 23#\ r \ n \ r \ nOK \ r \ n」 作爲串行端口的響應。 我在atmega16上獲取這些數據,但只有 「\ r \ n + CMGR:\ s」REC \ sUNREAD「,」+ 919762148043「,,」14/03/13,23:04:32 + 22「\ r 「 這個」* 23#「是我真正的短信,對」23「感興趣。 我的固件是這樣的,GSM Sim300響應沒有在atmega16接收
while(Serial.available())
{
char tempChar = Serial.read();
if(tempChar == '+')
{
isPreSms = true;
lcd.print('+');
}
else if((tempChar == '\r') && (isPreSms == true))
{
isPreSms = false;
lcd.print('r');
}
else if(tempChar == '*')
{
digitalWrite(OKLed, HIGH);
isSms = true;
lcd.print('*');
}
else if((tempChar == '#') && (isSms == true))
{
digitalWrite(powerLed, HIGH);
isSms = false;
lcd.print(sms);
}
else if(isSms)
{
digitalWrite(alertLed, HIGH);
sms += tempChar;
}
}
lcd.print('@');
}
上午期待 「+++ R * 23 @」 作爲輸出的LCD。我已經檢查過,它會收到'+'以及'\ r',但不會收到'*'。我卡在這裏,請幫忙,出了什麼事。