Hola, soy nuevo con arduino, por lo que me gustaría contar con la ayuda de ustedes.
Estoy enviando por serial al arduino datos del tipo string en el siguiente formato:
231;233;100;87
estos números se van actualizando cada tanto
quisiera saber como obtener estos números y guardarlos en una variable
por ejemplo:
a=231
b=233
c=100
d=87
pero la idea es que cada numero actualizado se este guardando en esas variables.
This should work for values in the positive int range.
char incoming;
int accu = 0;
int a, b, c, d;
int* targets[] = { &a, &b, &c, &d };
const byte nofTargets = sizeof(targets) / sizeof(targets[0]);
byte cIndex = 0;
void setup() {
Serial.begin(115200);
Serial.println(F("Enter 'a;b;c;d' line ending CR or CR+LF"));
}
void loop() {
bool lineDone = false;
if (Serial.available()) {
incoming = Serial.read();
switch (incoming) {
case '0' ... '9':
accu *= 10;
accu += incoming - '0';
break;
case ';':
*targets[cIndex++] = accu;
accu = 0;
if (cIndex >= nofTargets) {
cIndex = 0;
}
break;
case 13: // cr
*targets[cIndex++] = accu;
accu = 0;
cIndex = 0;
lineDone = true;
break;
}
}
if (lineDone) {
Serial.print(F("a = "));
Serial.print(a);
Serial.print(F(", b = "));
Serial.print(b);
Serial.print(F(", c = "));
Serial.print(c);
Serial.print(F(", d = "));
Serial.println(d);
a = b = c = d = 0;
}
}
system
Closed
3
This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.