Was meinst du mit Toggeln des Port-Ausgangs? Umschalten zwischen Ein- und Ausgang?
Das versteh ich nicht ganz:
Du liest diesen Wert auch dann, wenn der PORTx nicht als Ausgang geschaltet ist (dann wird natürlich dadurch der jeweilige Pullup-R aktiviert, wenn das zugehörige PORTx-Bit gesetzt ist).
Gibt es noch was anderes Als Ein- und Ausgang. Direkt nach einem Reset ist ein Port dann auf Ein- oder auf Ausgang gechaltet?
Also ich verstehe das jetzt so:
Auf Eingang schreiben -> Pullup an/aus
Am Ausgang lesen -> man bekommt den Wert den der Ausgang gerade hat
Hier mal die überarbeitete Version meines Codes:
Code:
;+++++++++++++++++++++++++++
;My first AVR ASSEMBLY CODE
;+++++++++++++++++++++++++++
;################
.NOLIST
.INCLUDE "m8def.inc"
.LIST
;################
.EQU Taster1 = 2
.EQU LED1 = 5
RJMP main
main:
LDI R16,0b00100000
OUT DDRD,R16 ;PORT D Input/Output directions setzen
SBIC PIND,Taster1 ;Taster1 prüfen
RJMP led_on ;springen wenn gedrückt
CBI PORTD,LED1 ;LED1 ausschalten
RJMP main
led_on:
SBI PORTD,LED1 ;LED1 anschalten
RJMP main
Als nächstes werde ich mal versuchen die LEDs zum blinken zu bringen.
Lesezeichen