我正在使用带有arduino mega的SIM900,并且必须使用AT命令将消息发送到我存储在变量中的特定数字。我将数字存储为字符串,但它给出了错误。以下是相关的代码行:
String number1 = "923360234233";
Serial1.write("AT+CMGS=\"" + number1 + "\"");
它会出现以下错误。
no matching function for call to 'HardwareSerial::write(StringSumHelper&)'
我在这里做错了什么?
答案 0 :(得分:3)
方法write
只能用于C字符串char *
,uint8_t *
和类似的缓冲区。
但是,如果您使用了字符串添加:const char *
+ String
+ const char *
,您将StringSumHelper
获得{{1}不支持}}
所以你可以使用:
write
或
Serial1.print("AT+CMGS=\"" + number1 + "\"");
或
Serial.write(("AT+CMGS=\"" + number1 + "\"").c_str());