Archiv verlassen und diese Seite im Standarddesign anzeigen : uint16 nach uint8 übertragen
super_castle
29.01.2006, 10:55
wie kann man eine uint16 nach uint8 übertragen.
der wert von uint16 ist nicht grösser wie 200.
dieses für winavr-c.
castle
Ich weiß jetzt nicht ob das geht, aber hast du schon mal mit einem einfach Cast versucht? Also
var8int = (uint8) var16int;
super_castle
29.01.2006, 18:24
ich habe eine maske genommen. danke
Meinst Du etwas wie
uint8_t i;
uint16_t x;
i = x & 0xff;
Das ist Verschwendung, da der Compiler die Maskierung für Dich macht, indem er nur die unteren 8 Bit des Datenwortes nimmt. Wenn Du Glück hast, wird das später wegoptimiert, da es unnötiger Code ist.
Um ein Warning des Compilers zu vermeiden ist der Weg den Andun beschrieben hat genau der richtige.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.