2

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

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

它给出了以下错误。

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

我在这里做错了什么?

4

1 回答 1

3

方法write只能用于 C-stringschar *uint8_t *类似的缓冲区。

但是,如果您使用了字符串添加:++ const char *,您将得到.Stringconst 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 回答