im sending string data via serial with following format ex. :45:60 or such as ":120:57".i got the data shown in Serial.println (secondValue) Serial.println (thirdValue); but i cant convert it to int
String myString;
char c;
int Index1,Index2,Index3, azi;
String secondValue, thirdValue;
void setup(){
Serial.begin(9600);}
void loop(){
while (Serial.available()>0)
{
delay(10);
c = Serial.read();
myString += c;
}
if (myString.length()>0)
{
Index1 = myString.indexOf(':');
Index2 = myString.indexOf(':', Index1+1);
Index3 = myString.indexOf(':', Index2+1);
secondValue = myString.substring(Index1+1, Index2);
thirdValue = myString.substring(Index2+1, Index3);
Serial.println(secondValue);
Serial.println(thirdValue);
myString="";
}
delay(1000);
}
asked Dec 15, 2018 at 12:49
-
Hint: Try String.toInt(), arduino.cc/en/Tutorial.StringToIntExampleMikael Patel– Mikael Patel2018年12月15日 14:13:42 +00:00Commented Dec 15, 2018 at 14:13
-
majenko.co.uk/blog/evils-arduino-stringsMajenko– Majenko2018年12月15日 17:21:47 +00:00Commented Dec 15, 2018 at 17:21
-
majenko.co.uk/blog/splitting-text-cMajenko– Majenko2018年12月15日 17:22:21 +00:00Commented Dec 15, 2018 at 17:22
-
majenko.co.uk/blog/reading-serial-arduinoMajenko– Majenko2018年12月15日 17:23:29 +00:00Commented Dec 15, 2018 at 17:23
1 Answer 1
All numbers are integers?
If yes, you can use toInt()
function.
int secondValueInt, thirdValueInt;
secondValueInt = secondValueInt.toInt();
thirdValueInt = thirdValue.toInt();
answered Dec 15, 2018 at 14:28
-
thx a lot bro, you are a life saver (Y)Farmato Inonu– Farmato Inonu2018年12月15日 15:16:16 +00:00Commented Dec 15, 2018 at 15:16
lang-cpp