Sain merkkijono
, joka ymmärtääkseni on Arduino-objekti, ja sain jonkin verran C ++ -koodia:
#include <Wire.h> #include <LiquidCrystal_I2C.h> sisältää <string.h>LiquidCrystal_I2C lcd (0x20,16,2); boolen borrar = false; String IP; void setup () {lcd.init (); lcd.taustavalo (); pinMode (13, OUTPUT); Sarjan alku (9600); Serial1.begin (9600);} void loop () {while (Serial1.available ()) {char caracter = Serial1.read (); // Comprobamos el -merkkikytkin (caracter) {oletus: if (borrar) {IP = ""; lcd.clear (); } lcd.print (merkki); viive (125); laina = väärä; IP.konttu (karakter); tauko; tapaus '\ r': tapaus 0x0F: tapaus 0x0A: Merkkijono res = ""; laina = tosi; int numero = atoi (IP.c_str ()); if (numero < 127) res = "Vaihe A"; if (num == 127) res = "Direccion reservada"; if (numero > 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"; tauko; } // fin switch} // serial disponible} // fin program
Tätä ei kuitenkaan käännetä tämän rivin takia:
int num = atoi (IP.c_str ())
Koska IP on String
ja tällainen menetelmä toimii merkkijono
. Kuinka voin tehdä siitä yhteensopivan (muuntaa)?