0
我有麻煩從SIM900模塊獲得正確的響應,如果我使用代碼,因爲它在它的例子中工作得很好。Arduino + SIM900模塊 - 沒有正確地得到命令響應
這個命令:
void GetContacts(){
mySerial.print("AT+CPBF=\"Mailbox\"");
delay(100);
mySerial.println();
}
,並與該打印代碼:
if (mySerial.available()){
Serial.write(mySerial.read());
}
我得到:
AT+CPBF="Mailbox"
+CPBF: 1,"+584125089112",145,"Mailbox3"
+CPBF: 2,"+584264273127",145,"Mailbox1"
+CPBF: 3,"+584147373665",145,"Mailbox2"
OK
這是完美的,但如果我嘗試讀取輸出然後像這樣打印:
if (mySerial.available()){
int intValue = mySerial.read();
String stringOne;
stringOne = String(intValue, HEX); //int to HEX
char charConversion;
charConversion = hexNibbleToChar(stringOne[0]) * 16 + hexNibbleToChar(stringOne[1]); //HEX to Char
contactString += charConversion;
Serial.println(contactString);
}
char hexNibbleToChar(char nibble){
if (nibble >= '0' && nibble <= '9')
return nibble - '0';
else if (nibble >= 'a' && nibble <= 'f')
return 10 + nibble - 'a';
else
return 10 + nibble - 'A';
}
我得到:
AT+CPBF="Mailbox"
+CPBF: 1,"+584125089112",145,"Mailbox3"
+CPBF: 2,"+58426
突然停止那裏,我不知道爲什麼,我已經試過剛過INT的intValue = mySerial.read()讀取和打印權;行,當我把那裏的十進制字符串轉換成字符時,任何在線轉換器的結果都是一樣的。
你們有沒有看到我做錯了什麼?
感謝, 胡安Docal