ich wusste es nich genau deshalb hab ichs verschwiegen :p
Druckbare Version
ich wusste es nich genau deshalb hab ichs verschwiegen :p
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!
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 ????
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.
und deshalb 4 weil es ja bei Array[0] beginnt
doch was kann ich tun das er mir nur das o ausgiebt??
ach ok sorry mein fehler stimmt es sollten 5 sein
doch meine frage ist immer noch die selbe wie kriege ich das o?
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
oder
w=hallo[1];
SerWrite (&w,1);
naja gut OK :p trotzdem ein umweg ^^
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