Gast
#3941951
Hallo Community, ich stehe gerade ein bisschen auf dem Schlauch was Bitmasking und Datenbastelei in AVR_GCC angeht: Ich habe folgende Variablen: uint32_t ExtendedID; // 29 bit Extended CAN-ID uint16_t DeviceAdress = 0x1FFF; //maximum Device Adress -> 13 bit ! uint16_t MessageID = 0xFFFF; //maximum Message-ID -> 16 bit ! ich möchte nun die beiden uint16_t zusammen in die uint32_t CAN-ID verpacken. Dazu muss ich ja die DeviceAdress, welche so aussieht -> 0001 1111 1111 1111 erstmal in eine 32er wandeln und 16 bit links schieben, oder ?: ( 16 << (uint32_t)DeviceAdress) dann hab ich das hier, richtig ?: 0001 1111 1111 1111 0000 0000 0000 0000 jetzt muss ich da ja irgendwie die MessageID reintüdeln, was mit bitweise AND (&) geht, oder ? Nur da setzt es bei mir aus, und irgendwie verstehe ich das Tutorial auch gerade nicht mehr. Entweder zu müde oder zu viel Code vor Augen ! Es wäre wirklich nett wen mir jemand kurz auf die Sprünge helfen kann.