PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Serielle Kommunikation - Integer-Werte richtig empfangen



ronpfztl
21.04.2013, 12:27
Hallo!
Ich habe folgendes Problem: Ich möchte per libserial Integer an den Arduino schicken, und zwar im Bereich 0 bis 255, die Rückgabe von Serial.read() wir durch atoi() in einen Integer konvertiert. Ich nutze dazu diesen Code auf dem Arduino, welcher theoretisch die LED an Pin 13 leuchten lassen soll, wenn ich den Wert 123 verschicke:


void setup()
{
Serial.begin(9600);
pinMode(13, OUTPUT);
}
int x;
char buffer[4];

void loop()
{
if(Serial.available())
{
buffer[0]=Serial.read();
buffer[1]=Serial.read();
buffer[2]=Serial.read();
buffer[3]='\0';
x = atoi(buffer);
if (x == 123)
{
digitalWrite(13, HIGH);
delay(100);
}
}
}


Allerdings leuchtet die LED nicht, egal ob ich 123 per "Serial Monitor" oder libserial-Programm verschicke.

Vielen Dank schon mal im Voraus!

- - - Aktualisiert - - -

Hat sich erledigt! Ich bin auf die "Serial.parseInt()" Funktion gestoßen, mit dieser funktioniert es so wie es soll!