Gast
#1793501
Da ich mich gerade in C einarbeite habe ich einmal ein paar Fragen zum setzen von Bits in einer uint8_t Variable. Aus Tutorial: >#include <avr/io.h> >... >#define MEINBIT 2 >... >PORTA |= (1 << MEINBIT); /* setzt Bit 2 an PortA auf 1 */ >PORTA &= ~(1 << MEINBIT); /* loescht Bit 2 an PortA */ Wieso löscht gerade dieser Ausdruck (|=) die Bits und der (&= ~) löscht sie? Ist das eine Festlegung oder haben diese Zeichen irgend einen Zusammenhang mit dem Löschen und setzen von Bits? Wieso geht das nicht einfach so: PORTB.0 = 1, x.5 = 1 ? Wäre das nicht logischer? Ich weiß das geht mit struct aber kann ich mit struct auch einfach sagen PORTB = x(Variable vom struct und besteht aus 8 Bit) und jetzt kann ich den PORTB vom x aus steuern? Leider kann ich noch nicht simulieren da mein Eclipse nicht Debuggen kann, deswegen die Fragen. lg andy