Forum: Mikrocontroller und Digitale Elektronik AVR Ports setzen


von Matze (Gast)


Lesenswert?

Hallo,
kann mir jemand sagen warum ich eine Fehlermeldung bekomme, wenn ich in 
C einen Port setzen oder rücksetzen möchte. Der Befehl PORTB3=1; müsste 
doch eigentlich funktionieren. Der Compiler gibt aber die Fehlermeldung 
"error: lvalue required as left operand of assignment" aus. Kann ich 
nicht einzelne Bits setzen und rücksetzen? Ich arbeite mit AVR Studio 
4.14 und WINAVR.

Gruß Matze

von Marius W. (mw1987)


Lesenswert?

Also diese Art einen Pin zu setzen ist mir unter WinAVR eigentlich 
gänzlich unbekannt.

Normal funktionierts so:
1
PORTB |= (1 << PB6);   // Setzen
2
PORTB &= ~(1 << PB6);  // Rücksetzen

MfG
Marius

von Fabian H. (Gast)


Lesenswert?

Jo, C sollte man schon können... Ansonsten ist dieses Post absolut 
unnötig... Wer lesen kann....

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

von Basti (Gast)


Lesenswert?

Wenn ich das jetzt im STK 500 realisieren möchte, wie gehe ich dann mit 
der Invertierung vor?

mfg Basti

von Jodli (Gast)


Lesenswert?

Basti schrieb:
> Wenn ich das jetzt im STK 500 realisieren möchte, wie gehe ich dann mit
> der Invertierung vor?

Was meinst du? Möchtest du den STK 500 invertieren?

von Karl H. (kbuchegg)


Lesenswert?

Basti schrieb:
> Wenn ich das jetzt im STK 500 realisieren möchte, wie gehe ich dann mit
> der Invertierung vor?

Bitte grab keine himmelalten Threads aus!

Bitmanipulation
AVR-GCC-Tutorial

das sollte fürs erste alle Fragen klären. Die Antwort auf damit nicht 
geklärte Fragen finden sich entweder in jedem Einsteiger-C-Buch oder bei 
nicht trivialen Fragen zur Progrqammiersprache, hier im Forum.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.