Gast
#159007
Hallo Zusammen,
ich hab folgendes Problem:
Ich hab ein Winkelmessmodul, das mir über UART den Winkel Binär
ausgibt. Dabei wird ein Highbyte und ein Lowbyte gesendet.
Laut Datenblatt muss der Winkel dann mit:
Neigung=(((256*highbyte)+lowbyte)*360/65536);
berechnet werden.
Für ein Highbyte von 0x3e (Dez=62) und ein Lowbyte von 0xf9 (Dez=249)
ist die Neigung dann 88,555 Grad. Das würde auch stimmen.
Jetzt hab ich ein kleines C-Programm geschrieben das mir den Winkel
einliesst und dann auf ein LCD ausgibt.
unsigned Neigung;
unsigned highbyte;
long int lowbyte;
// Berechnung des Winkels
highbyte=0x3e;
lowbyte=0xf9;
Neigung=(((256*highbyte)+lowbyte)*360/65536);
lcd_gotoxy(0,1);
sprintf(bufferLCD,"%d\xdf",Neigung);
lcd_puts(bufferLCD);
Mein Problem ist, dass mir immer nur 88 angezeigt wird, und die
Nachkommastellen verschluckt werden. Stelle ich den Variablentyp auf
Float und den Ausgabetyp auf %f um so wird mir gar nichts mehr
ausgegeben.
Wie bekomme ich die Nachkommastellen angezeigt.
Grüsse Markus