2
...(泰利特/希姆通等)重複+ CMGS - 第一行,再不行我使用這個代碼跟一個股票GSM調制解調器工作
// ------------------------------
sprintf(localbuf, "AT+CMGS=\"%s\"\r", recipient);
Serial1.write(localbuf); // initiate the SMS conversation
if (waitFor(5000, "> ", "ERR")) {
sprintf(localbuf, "%s%c", textMessage, CTRL_Z);
Serial1.write(localbuf); // send the message body
//... I wait for the +CMGS: response here - all good
} else {
Serial.write("\r\n-- SMS >PROMPT FAIL --");
retval = false;
}
... and move on
的第一個消息 - 沒問題 - 它工作正常。 如果我做了其他的事情,並回來發送另一個 - 沒有問題。包括其他調制解調器對話(CSQ,CCLK等)
但是,如果我嘗試發送多個消息(在鬆散的循環中)相當接近,第二個+ CMGS請求無法返回'>'提示。 。?
任何想法。 在此先感謝
你的問題是有點混亂。你可以用你正在使用的循環添加失敗的代碼嗎? – dubafek
我強烈反對將這個問題視爲「太寬泛」。該問題具體提出了一個問題,並提供了所有必需的細節。 – hlovdal
我很高興看到AT命令處理方面做了幾件事情:只用'\ r'終止一個AT命令行,讀取和解析來自調制解調器的響應,並等待sms有效載荷直到提示出現。優秀。 – hlovdal