发送消息到一个数字存储在Arduino字符串



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

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

给出如下错误:

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

我在这里做错了什么?

方法write只能用于c字串char *, uint8_t *和类似的缓冲区。

然而,如果你使用字符串加法:const char * + String + const char *,你会得到StringSumHelper,这是write不支持的。

所以你可以用:

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

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

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

相关内容

  • 没有找到相关文章

最新更新