Wie kann man einer Struktur mit Bitfeldern einen Wert zuweisen?
Ich habe eine Struktur mit Bitfeldern (insgesamt 32 Bit Breite) und ich habe eine 32-Bit-Variable. Wenn ich versuche, der Struktur den Variablenwert zuzuweisen, erhalte ich eine Fehlermeldung:
Fehler: Konvertierung von "uint32_t {aka unsigned int}" in den nicht skalaren Typ "main () :: CPUID" angefordert.
struct CPUIDregs
{
uint32_t EAXBuf;
};
CPUIDregs CPUIDregsoutput;
int main () {
struct CPUID
{
uint32_t Stepping : 4;
uint32_t Model : 4;
uint32_t FamilyID : 4;
uint32_t Type : 2;
uint32_t Reserved1 : 2;
uint32_t ExtendedModel : 4;
uint32_t ExtendedFamilyID : 8;
uint32_t Reserved2 : 4;
};
CPUID CPUIDoutput = CPUIDregsoutput.EAXBuf;
Haben Sie eine Idee, wie es auf kürzestem Weg geht? Vielen Dank
P.S. Natürlich habe ich einen angemesseneren Wert für EAX in echtem Code, aber ich denke, das hat hier keinen Einfluss.