2

私はarduino megaでSIM900を使用しており、ATコマンドを使用して、変数に保存した特定の番号にメッセージを送信する必要があります。数値を文字列として保存していますが、エラーが発生します。以下は、関連するコード行です。

String number1 = "923360234233";
Serial1.write("AT+CMGS=\"" + number1 + "\"");

次のエラーが発生します。

no matching function for call to 'HardwareSerial::write(StringSumHelper&)'

ここで何が間違っていますか?

4

1 に答える 1

3

メソッドは、 C-stringsおよび同様のバッファーwriteに対してのみ使用できます。char *uint8_t *

ただし、文字列の追加を使用した場合: const char *+ String+でサポートされていないものをconst char *取得します。StringSumHelperwrite

したがって、次を使用できます。

Serial1.print("AT+CMGS=\"" + number1 + "\"");

また

Serial.write(("AT+CMGS=\"" + number1 + "\"").c_str());

また

Serial1.write("AT+CMGS=\"");
Serial.print(number1);
Serial.write("\"");
于 2016-09-14T07:28:45.173 に答える