Eu obtive uma String
que, pelo que entendi, é um objeto Arduino, e alguns códigos C ++:
#include <Wire.h> #include <LiquidCrystal_I2C.h> # incluem <string.h>LiquidCrystal_I2C lcd (0x20,16,2); boolean borrar = false; String IP; void setup () {lcd.init (); lcd.backlight (); pinMode (13, OUTPUT); Serial.begin (9600); Serial1.begin (9600);} void loop () {while (Serial1.available ()) {caractere caracter = Serial1.read (); // Comprobamos el caracter switch (caracter) {default: if (borrar) {IP = ""; lcd.clear (); } lcd.print (caracter); atraso (125); borrar = falso; IP.concat (caracter); quebrar; case '\ r': case 0x0F: case 0x0A: String res = ""; borrar = verdadeiro; int num = atoi (IP.c_str ()); if (num < 127) res = "Classe A"; if (num == 127) res = "Direcção 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"; quebrar; } // fin switch} // serial disponible} // fin programa
No entanto, isso não compilará por causa desta linha:
int num = atoi (IP.c_str ())
Como IP é um String
e tal método funciona para string
. Como posso torná-lo compatível (convertê-lo)?