Hi ich stehe gerade komplett auf der Leitung.
Ich wollte den Arduino ein Signal vom Empfangen lassen … (0x00 - 0xFF) … dieses Signal müsste aufgeteilt werden in die “Einerstelle” und die andere. Mein Gedanke dazu war, dass ich im loop Abfrage Serial.available()
dann in eine Funktion gehe mit dem Code;
void lesen(int *prr, int *h)
{
byte input=0;
input=Serial.read();
prr = input >> 4;
h = input - ((input >> 4) << 4);
}
Mache ich da einen Fehler?!
Ich glaub ich sehe komplett auf der Leitung…
Ja ja, die lieben Pointer …
*prr = input >> 4;
*h = input - ((input >> 4) << 4);
Tommy56
December 9, 2020, 12:49pm
#3
Mache es Dir doch einfacher mit Referenzen:
void lesen(int &prr, int &h)
{
byte input=0;
input=Serial.read();
prr = input >> 4;
h = input - ((input >> 4) << 4);
}
//Aufruf mit:
int prr,h;
lesen(prr,h);
Gruß Tommy
pr ist der Zeiger selbst und nur eine lokale Variable in der Funktion. Das ist die Adresse der Variable. *pr ist der eigentliche Inhalt der Variable
Tommy56
December 9, 2020, 1:22pm
#5
Falls Du Dich auf mein Beispiel beziehst, ich arbeite mit Referenzen, nicht mit Pointern.
Gruß Tommy
Das hat doch mir dir nichts tun
Ich meinte ganz allgemein
Tommy56
December 9, 2020, 2:09pm
#7
Ok, weil Du ohne einen anderen Bezug unter meinem Beitrag geantwortet hast, hätte man das vermuten können.
Gruß Tommy