Hallo zusammen
Wenn ich einen Pin per Alias Konfiguriere, den ich als Eingang mit int. PullUp verwenden will schreibe ich bisher immer folgendes:
PIN_EINGANG Alias PinB.0 : Set PortB.0
Doof ist, wenn ich den Pin ändere, dann muss ich den Port von Hand extra ändern.
Jetzt hatten wir letztes mal das Thema, dass ein Port auch Toggeln kann, ohne den Port.Pin zu lesen, zu ändern und wieder zu schreiben.
Dazu schreibt man ja auf den Pin (nicht den Port) eine 1.
Das sollte doch auch mit den Input gehen.
Wenn ich also schreibe
PIN_EINGANG Alias PinB.0
Set PIN_EINGANG
Dann sollte der int. PullUp eingeschaltet werden.
Wenn ich erneut schreibe
Set PIN_EINGANG,
dann müsste der PullUp wieder aus sein.
Bei den IO-Ports steht im Datenblatt (Beispiel Mega8) folgendes:
Die Übersetzung fällt mir aber etwas schwer.
Meine Frage: Stimmt meine Vermutung und trifft das auf alle AVR's zu (Tiny, ATMega, XMega)
Wenn ich einen Pin per Alias Konfiguriere, den ich als Eingang mit int. PullUp verwenden will schreibe ich bisher immer folgendes:
PIN_EINGANG Alias PinB.0 : Set PortB.0
Doof ist, wenn ich den Pin ändere, dann muss ich den Port von Hand extra ändern.
Jetzt hatten wir letztes mal das Thema, dass ein Port auch Toggeln kann, ohne den Port.Pin zu lesen, zu ändern und wieder zu schreiben.
Dazu schreibt man ja auf den Pin (nicht den Port) eine 1.
Das sollte doch auch mit den Input gehen.
Wenn ich also schreibe
PIN_EINGANG Alias PinB.0
Set PIN_EINGANG
Dann sollte der int. PullUp eingeschaltet werden.
Wenn ich erneut schreibe
Set PIN_EINGANG,
dann müsste der PullUp wieder aus sein.
Bei den IO-Ports steht im Datenblatt (Beispiel Mega8) folgendes:
All AVR ports have true Read-Modify-Write functionality when used as general digital I/O ports.
This means that the direction of one port pin can be changed without unintentionally changing
the direction of any other pin with the SBI and CBI instructions. The same applies when chang-
ing drive value (if configured as output) or enabling/disabling of pull-up resistors (if configured as
input). Each output buffer has symmetrical drive characteristics with both high sink and source
capability. The pin driver is strong enough to drive LED displays directly. All port pins have indi-
vidually selectable pull-up resistors with a supply-voltage invariant resistance. All I/O pins have
protection diodes to both VCC and Ground as indicated in Figure 21. Refer to “Electrical Charac-
teristics – TA = -40°C to 85°C” on page 235 for a complete list of parameters.
Die Übersetzung fällt mir aber etwas schwer.
Meine Frage: Stimmt meine Vermutung und trifft das auf alle AVR's zu (Tiny, ATMega, XMega)