如何在Arduino中将实际字符串转换为char变量字符串(带括号的char变量)?

时间:2017-03-26 18:42:11

标签: string arduino char arduino-esp8266

我遇到了带有ESP8266和ArduinoIDE的NodeMCU的问题:

我希望使用softAP,并且每次设备启动时都应该随机生成密码,它应该是8位数,足以显示在我的8digit 7段显示器上。 我创建了一个长度为8位且直接转换为String的数字。可悲的是," WiFi.softAP"命令只接受括号中的变量类型常量字符。我怎么能以某种方式将字符串放入带括号的字符串中,或​​者让WiFi.softAP吞下String类型?

我已经到目前为止了:

MAX7219_7segment PWScreen(14,12,13);
String A,B,C;
const char *ssid = "Sellerie";

ESP8266WebServer server(80);

/* Just a little test message.  Go to http://192.168.4.1 in a web browser
 * connected to this access point to see it.
 */
void handleRoot() {
    server.send(200, "text/plain", C);
}

void setup() {
  int pw = random(10000000,99999999);
  String spassword = String(pw);
  //const char *password = spassword;
  pinMode(0, INPUT);  // D0
  pinMode(5, INPUT);  //D1 
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(14, OUTPUT);
  delay(1000);
  Serial.begin(115200);
  Serial.println();
  Serial.print("Configuring access point...");
  WiFi.softAP(ssid, spassword);
  IPAddress myIP = WiFi.softAPIP();
  Serial.print("AP IP address: ");
  Serial.println(myIP);
  server.on("/", handleRoot);
  server.begin();
  Serial.println("HTTP server started");
  PWScreen.write_number(pw);

祝你好运 SELLERIE

1 个答案:

答案 0 :(得分:1)

要解决此问题,我只需将整数取消注释为字符串行

//const char *password = spassword;

并将const char *password = spassword;改为const char *password = spassword.c_str();,因为Bence Kaulics在我的帖子中的评论中回答,该评论完美无瑕。 谢谢!