将消息发送到Arduino中存储为String的数字

时间:2016-09-14 06:15:37

标签: arduino at-command sim900

我正在使用带有arduino mega的SIM900,并且必须使用AT命令将消息发送到我存储在变量中的特定数字。我将数字存储为字符串,但它给出了错误。以下是相关的代码行:

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

它会出现以下错误。

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

我在这里做错了什么?

1 个答案:

答案 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());