// Loesung zu Termin1 // Namen: ___________; ____________ // Matr.: ___________; ____________ // vom: ___________ #include #define BIT0 (1<<0) #define BIT1 (1<<1) #define BIT2 (1<<2) #define BIT3 (1<<3) #define BIT4 (1<<4) typedef struct { volatile unsigned int DataRegA; volatile unsigned int DataRegB; } StructReg; // Register der Hardware #define REG_BASE ((StructReg*) 0xFFFF0000) // Basisadresse der Register int main (void) { int i=0; int var=0; REG_BASE->DataRegA = 0x01E4; // Bitmaske initilisieren // Wie lautet der Inhalt des Registers nach dem Aendern? // Welche Funktionen haben die folgenden Bit-Operationen? REG_BASE->DataRegB = REG_BASE->DataRegA | BIT0 | BIT1; REG_BASE->DataRegB &= ~(BIT0 | BIT1) ; REG_BASE->DataRegB ^= BIT0 | BIT1 | BIT2; // Endlosschleife while(1) { for(i=0; i<500000; i++); { var=0; } } return (0); }