Pasar 20 Int de arduino a Visual C# y al reves ** SOLUCIONADO**

Tengo a medio hacer un encendido electronico programable con Arduino .
La curva de programación de este es un serie de valores int que son las rpms y los grados de avance, en total 20 enteros sin signo que tengo que pasar del pc al Arduino. Una vez en el Arduino se guardan en la EEprom . El pc tiene que leer los valores que hay en el Arduino mediante una petición como mandar un carácter por el puerto serie del PC al Arduino, este responde mandando una tabla con los 20 valores int.
Los edita el pc y se cambia lo que se quiere y de nuevo con un botón en el formulario del PC se mandan los 20 enteros del PC al Arduino y se guardan en la EEprom cambiando la curva.
Bien , el problema lo tengo en el formato de envio del PC al Arduino, no consigo que funcione. Me manda cosas raras.
Alguien tiene un ejemplo, librería o algo que funcione bien entre Visual C# y Arduino?
No consigo encontrar nada que trabaje como debe.
Muchas gracias

A mi me gusta usar en el arduino ParseInt
Mucha gente no sabe que Arduino tiene funciones integradas para manejar cadenas de datos.

Michael Margolis incluyó su buscador de texto en el núcleo de librerías del Arduino, entonces podes enviar cadenas como

123, 456, 789

Y el Arduino puede leerlas y convertirlas a caracteres númericos nuevamente
Por ejemplo supone que envias una cadena con valores a setear para dos leds que vas a dimmear, entonces envias estos comandos

P1, 255\n
P2, 127\n

( \n representa ASCII 10 o nueva linea)

void setup() {
     Serial.begin(9600);
}
void loop() {
// Asumes un string presente en el puerto serie de esta manera:
// s ledNumber, brillo \n
// por ejemplo: "s5,200\n":

int ledNumber = 0;
int brillo = 0;
if (Serial.find("s")) {
ledNumber = Serial.parseInt(); // toma los caracteres numericos antes de la coma
brightness = Serial.parseInt();// toma los caracteres numericos despues de la coma
// imprime el resultado en elpuerto serie
Serial.print("LED numero: " );
Serial.print(ledNumber);
Serial.print(" con ");
Serial.println(brillo);
// seteo el LED:
analogWrite(ledNumber, brillo);
}
}

Entonces para tu caso, si envias los 20 enteros separados por comas y desde el arduino los lees con serial.parseint() los tendrás uno a uno sin problemas.
Hacer eso en C# es facil, un loop y envias cada dato desde el vector que los contiene por el puerto.

Gracias a tu ayuda ya va bien. Llevaba duas liado. Muchas gracias de nuevo

Cuanto me alegro, ponle SOLUCIONADO al título por favor.