-
-
Erfahrener Benutzer
Robotik Einstein
ich wusste es nich genau deshalb hab ichs verschwiegen
-
Neuer Benutzer
Öfters hier
Also hab ich das richtig verstanden wenn ich z.b einen Arrray habe hallo[4]={'t','o','b','i','\0'} und nur das o ausgeben möchte so schreib ich SerWrite (hallo,1);??
das klappt bei mir nicht, er gibt mir dann die ersten 2 zeichen dieses arrays aus!
-
Erfahrener Benutzer
Robotik Einstein
bei SerWrite gibt der 2te parameter die länge des zu sendenden string an!!! und nicht WELCHES byte aus dem array ....
PS: dein array hat logisch eine länge von 5 nicht 4 warum definierst du es mit 4 und schreibst dann 5 chars/buchstaben rein ????
-
Moderator
Robotik Einstein
und das mit serwrite steht auch detailliert in der anleitung...
das \0 ist auch ein zeichen, welches auf der länge des arrays unbedingt berücksichtigt werden muss.
-
Neuer Benutzer
Öfters hier
und deshalb 4 weil es ja bei Array[0] beginnt
doch was kann ich tun das er mir nur das o ausgiebt??
-
Neuer Benutzer
Öfters hier
ach ok sorry mein fehler stimmt es sollten 5 sein
doch meine frage ist immer noch die selbe wie kriege ich das o?
-
Erfahrener Benutzer
Robotik Einstein
indem du die adresse des bytes im array an der 2ten stelle übergibst und behauptest das das array nur 1 byte groß ist
SerWrite(&(hallo[1]),1); // die adresse (&) von dem 2ten zeichen (index beginnt bei 0) des array hallo
ich weis sieht n bissl aus wie von hinten durch die brust ins auge, ist aber die schnellste lösung wenn du nicht mit pointer arithmetik anfangen magst
-
Neuer Benutzer
Öfters hier
oder
w=hallo[1];
SerWrite (&w,1);
-
Erfahrener Benutzer
Robotik Einstein
naja gut OK
trotzdem ein umweg ^^
-
Neuer Benutzer
Öfters hier
besser als das es gar nicht funktioniert auf jeden fals danke ich dir für den gednken anstoss nun bin ich mit meinem morse programm schon ein schönes stück weiter
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen