Gast
#634170
ich hab drei Variablen, und ich will die 2 byte Variavlen in die 16 Bits Variable kopieren. uint16_t Var1; uint8_t Var2_Low; uint8_t Var3_High; wie geht s die Anweisung in C-Sprache?
|
Anzeige
|
Anweisung in C-Sparache
Gast
#634170
ich hab drei Variablen, und ich will die 2 byte Variavlen in die 16 Bits Variable kopieren. uint16_t Var1; uint8_t Var2_Low; uint8_t Var3_High; wie geht s die Anweisung in C-Sprache?
Gast
#634173
Var1 = ((uint16_t)Var3_High << 8) | Var2_Low;
Gast
#634212
ist es nicht so: Var1 = ((uint16_t)Var3_High >> 8) | Var2_Low; ?? alpacino wrote: > ist es nicht so: > Var1 = ((uint16_t)Var3_High >> 8) | Var2_Low; > Was wird wohl passieren, wenn du bei einer 8 Bit Variable die 8 Bit nach rechts schiebst? Wenn Du Deine 8-Bit-Variable um 8 Stellen nach rechts schiebst, fällt alles, was vorher an Inhalt drin war, rechts raus. Da kannste auch gleich "0" hinschreiben... ARM-Fan liegt schon richtig.
Gast
#634232
ja ja stimmt,ich bin vieleicht besoffen ;-) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|