Ist es irgendwie möglich mit putchar ein hexwert auszugeben?Hatte es vorher mit: k=12 printf("%02X",k) es wurde 0C ausgegeben Nun habe ich den tollen mega128.Wie kann ich der USART1 solch einen Wert entlocken? Gruß Helge
Hallo Hab mir was gebastelt.Vielleicht gehts ja noch einfacher. k=12; //dec wert zur hex ausgabe a=k>>4; b=k<<4;b=b/16; if(a>9)a=a+7; if(b>9)b=b+7; a=a+48;b=b+48; putchar(a);putchar(b);
gebe es doch in ein char array aus. char buf[3]; // immer ein mehr aus Du brauchst, da 0x00 angehängt wird sprintf("%02X",k) putchar(buf[0]); putchar(buf[1]); ist aber sicherlich mehr code als Deiner. Reiner
Hallo Reiner Ich benutze den Mega 128 mit 2 Schnittstellen.Wenn ich die zweite Schnittstelle benötige will mein Codevision nur putchar1. Habs mal mit sprintf1 probiert,klappt leider auch nicht.Mit der USART0 gehts.Aber wie es immer so ist benötige ich die USART1. Aber vielen Dank für die Bemühungen.Vielleicht stelle ich mich auch zu blöd an. Gruß Helge
aber das sprintf ist total unabhängig von der io. Es ist völlig egal ob Du anschliessend auf die UART0, UART1, LCD, MMC oder sonst noch was ausgibts. sprintf schreibt nur in das ram, nicht zur io sprintf(buf,"%02X",k) putchar1(buf[0]); putchar1(buf[1]); Reiner
Wieso für sowas printf bemühen? itoa(k, buf, 16); sollte es auch tun, nun heisst es Codegröße vergleichen.
spielt das ne Rolle beim 128er? Irgendwo wird er die sprintf() brauchen und dann ist es eh egal Reiner
Ich probiere eure Tip´s heute Abend mal aus.Vielen Dank!Muß leider erst mal mein Atmel alleine lassen Gruß Helge
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.