在Arduino sketch中,从字符串常量转换为'char *'[-Wwrite-strings]错误

时间:2016-04-05 08:39:11

标签: c arduino-uno iot esp8266

我正在使用Arduino和ESP8266发送传感器数据。但是在Arduino中编译草图的过程中,我收到一个错误 - 已弃用从字符串常量转换为'char *'[-Wwrite-strings]

#include "SoftwareSerial.h"
SoftwareSerial esp(10, 11);// RX, TX
void setup() {
  esp.begin(9600);
  Serial.begin(9600);
  delay(100);
  Serial.println("Started...");
  reset();
  connectWifi();
}

//reset the esp8266 module
void reset() {
  esp.println("AT+RST");
  delay(1000);
  if (esp.find("OK")) Serial.println("Module Reset"); //error
}

1 个答案:

答案 0 :(得分:2)

正如Aeldred所说,你只需要将String转换为 char *

所以你的草图看起来像:

#include "SoftwareSerial.h"
SoftwareSerial esp(10, 11);// RX, TX
void setup() {
  esp.begin(9600);
  Serial.begin(9600);
  delay(100);
  Serial.println("Started...");
  reset();
  connectWifi();
}

//reset the esp8266 module
void reset() {
  esp.println("AT+RST");
  delay(1000);
  if (esp.find((char*)"OK")) Serial.println("Module Reset"); //error
}