2016-09-14 9 views
1

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

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

以下のエラーが発生します。

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

私はここで間違っていますか?

答えて

1

方法writeは、C-ストリングchar *,uint8_t *および類似のバッファーにのみ使用できます。あなたは、文字列の追加を使用しましたが場合

const char * + String + const char *あなたはwriteでサポートされていないStringSumHelperを取得します。

あなたが使用することができます。

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

または

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

または

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

しかし、それはまだ動作しません。私は自分の電話でテキストを受け取ることができません。 –

+0

さて、なぜコードの一部をコンパイルできず、それが解決されたのかと尋ねました。添付されたコードは不完全です。それで、何も送っていないのはどうして私は知るべきですか?少なくとも[こちら](https://www.diafaan.com/sms-tutorials/gsm-modem-tutorial/at-cmgs-text-mode/)をご覧ください。 – KIIV

+0

右謝罪いたします。 コードをアップロードした場合、何が間違っているか把握できるでしょうか? –

関連する問題