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

: Gesperrt durch User
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.