Hallo, ich arbeite gerde mit dem MSP430F149. Ich habe zuerst die UART-Schnittstelle in Betrieb genommen ( 115200 ) und ein Echo gemacht und mit einem Terminalprogramm kontrolliert. Hat geklappt. Dann habe ich einen A/D Wandler ( P6.3 ) in Betrieb genommen. Ich scheine auch Werte zu bekommen. Wenn ich das Register ADC12MEM0 direkt über die UART übertrage bekomme ich die letzten 8 Bit eines jeden Messwertes angezeigt. ( 8 statt 12 Bit natürlich ) Doch jetzt kommts: Ich will den gemessenen Spannungswert vom A/D-Wandler übertragen und direkt im Terminalprogrmm sehen. Also brauche ich eine Funktion oder so, die mir den 12 Bit-wert des Registers ( ADC12MEM0 ) in einen String macht, den ich dann in den TXBUF1 schreiben und übertragen kann. Hat da jemand einen Vorschlag oder ein paar Codeschnipsel ? Danke Florian
so vielleicht ?! void sendhexword (unsigned int val) { unsigned char nibble; nibble = (val >> 8) & 0xf; if (nibble > 9) { uartsend (nibble - 10 + 0x41); } else { uartsend (nibble + 0x30); } nibble = (val >> 4) & 0xf; if (nibble > 9) { uartsend (nibble - 10 + 0x41); } else { uartsend (nibble + 0x30); } nibble = (val >> 0) & 0xf; if (nibble > 9) { uartsend (nibble - 10 + 0x41); } else { uartsend (nibble + 0x30); } uartsend (0x20); } gruß rene ps. keine funktionsgarantie ... nur beispielhaft
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.