Hallo, ich habe da mal eine Frage, wie bekomme ich eine errechnete Kommazahl per UART zum PC?? (ATmega8 -> PC) Muß ich diese Zahl erst in eine Zeichenkette umwandeln und dann Char für Char rüberschicken??? oder gibt es da was anderes?? Vielen Dank Martin
Hallo Martin, wenn Du weißt, auf wieviele Stellen genau Du die Zahl brauchst, multiplizier sie doch im AVR mit einem Faktor (sagen wir, 1000), schick sie zum PC und teile sie dort wieder durch diesen Faktor. Gruß Sebastian
Soweit ich weis must du die Zahl umwandeln. ich würd das so machen: z.B. 124,4 124,4 * 10 = 1244 1244 / 1000 = 1 Rest 244 1+48 = '1' 244 /100 = 2 Rest 44 2+48 = '2' 44 / 10 = 4 Rest 4 4+48 = '4' komma senden, dann die 4 die übrig bleibt. So mach ich das immer(in ASM). Keine Ahnung obs da noch was besseres gibt. Die Zahl sollte das Komma immer an der selben stelle haben, sonst musst du das voher extra auswerten. Gruß Matthias
@matthias: Ist doch etwas umständlich, oder? @martin: Wie Programmierst Du den AVR? In asm oder in c? Sebastian
Wenn (aber auch nur dann!) Du auf dem AVR und dem PC Gleitkommazahlen des selben Formats verwendest, dann könntest Du die Gleitkommazahl so wie sie ist Byte für Byte übertragen. Du könntest dazu ein union definieren, das folgende zwei Felder hat: 1. die Gleitkommazahl und 2. ein Bytearray aus so vielen Bytes, wie die Gleitkommazahl groß ist. (Dies kann sowohl AVR- als auch PC-seitig so geschehen.) Gruß, Michael
Hi... Wenn es nur um die Anzeige im Terminalprogramm auf dem PC geht, dann schick doch einfach den ASCII-Code für das Komma oder den Dezimalpunkt rüber... ...HanneS...
@sebastian: gibts ne bessere möglichkeit in assembler? Meine möglichkeit is dafür gedacht die Zahl z.B. im Hyperterminal anzeigen zu lassen. Wenn ich die Zahl sowiso nachher am PC weiterbearbeite geht das natürlich einfacher...
@ sebastian ich programmiere in c, und ich möchte gerne die Zahl gleich mit Visual C weiterverarbeiten.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.