Arduino Mega, Serielle schnittstelle, weiterverarbeiten

Hi Leute!

Ich habe ein Problem, wahrscheinlich leicht zu lösen, ich habe mich wahrscheinlich nur in etwas verrannt, und komme aus der Sackgasse nicht mehr raus!

Ich bekomme von einem PC über die Serielle Schnittstelle ein Signal (0x00 – 0xFF) jetzt ist es aber so, dass ich dieses Signal splitten müsste (Einerstelle und „16er“Stelle), da die einzelnen Stellen etwas anderes bedeuten…. Am besten in definitive Zahlen, da sie leichter zum verarbeiten wären. Wie mache ich das am besten?
(ich schreibe absichtlich nicht den Code hier, da ich niemanden in meine Sackgasse locken will)

Ich verwende einen Mega (da ich mit den Signalen 15 + 1 [einmal alle] steuern möchte)

Philip

die ersten 4 bit für "hinten" nehmen, die vordern 4 bit für "vorne"

hinten = alles & 0b00001111; // mit den letzten 4 bit verunden
vorne = alles >> 4; // nach links shiften

Hi, nur damit ich es richtig verstehe

int hinten;
int vorne;
int input;

input=Serial.read();

hinten= input & 0b00001111;
vorne = input >> 4;

damit habe ich bei hinten und vorne dann die Zahlen 0 bis 16 ...

ist es nur dann egal, dass int 16 bit hat und das empfangene nur 8?

jein. schön ist es nicht.

int vorne = (input & 0b11110000) >> 4;

aber
Returns

The first byte of incoming serial data available (or -1 if no data is available). Data type: int.

also bekommst eh nur ein Byte. Kannst es also auch so lassen.
schöner wäre es, wenn du deine neuen Variablen byte machen würdest.
Das -1 musst vorher sowieso auch abfangen, weil das willt du nicht (vermutlich).

oke, supi ... danke