Obtuve un String
que, según tengo entendido, es un objeto Arduino, y obtuve un código C ++:
#include <Wire.h> #include <LiquidCrystal_I2C.h> # incluir <string.h>LiquidCrystal_I2C lcd (0x20,16,2); booleano borrar = falso; IP de cadena; configuración vacía () {lcd.init (); LCD luz de fondo(); pinMode (13, SALIDA); Serial.begin (9600); Serial1.begin (9600);} void loop () {while (Serial1.available ()) {char caracter = Serial1.read (); // Comprobamos el caracter switch (caracter) {predeterminado: if (borrar) {IP = ""; lcd.clear (); } lcd.print (caracter); retraso (125); borrar = falso; IP.concat (caracter); romper; case '\ r': case 0x0F: case 0x0A: String res = ""; borrar = verdadero; int num = atoi (IP.c_str ()); if (num < 127) res = "Clase A"; if (num == 127) res = "Dirección reservada"; if (num > 127 && num < 192) res = "Clase B"; if (num > = 192 && num < 224) res = "Clase C"; if (num > = 224 && num < 240) res = "Clase D"; if (num > = 240 && num < 255) res = "Clase E"; romper; } // fin switch} // serial disponible} // fin programa
Sin embargo, esto no se compilará debido a esta línea:
int num = atoi (IP.c_str ())
Como IP es una String
y dicho método funciona para string
. ¿Cómo puedo hacerlo compatible (convertirlo)?