|
(1)Serial 的緩存區只有 64 bytes,
如果送過來的超過 64 且沒被 .read( ) 則緩存區滿了後送來的就會掉字 !
(2)你在 loop( ) 內不斷的下命令讀去 #1 短信,
這確定是要故意這樣嗎?
(3)先試這看看,
如果仍收不完整, 那就必須去偷改庫內的 Serial 之緩存區, 例如改為 256 應該就夠用
[mw_shl_code=bash,true]#include <Arduino.h>
#include <String.h>
void setup()
{
Serial.begin(9600);
Scan_Message();
}
void loop(){
Read_Message();
}
void Read_Message(){
///
String inString="";
while (Serial.available()>0){
char inChar=Serial.read();
inString += (char)inChar;
delay(2);
}
if (inString!="")
{
Serial.println(inString);
}
}
void Scan_Message(){
Serial.print("AT+CMGR=1\r\n");
delay(38);
}[/mw_shl_code] |
|