Forum: Mikrocontroller und Digitale Elektronik PIN einelesen


von Anfänger (Gast)


Lesenswert?

Hallo.. Bin gerade dabei mich mit Atmels Mikrocontrollern zu
beschäftigen. Versuche gerade mehree eingangszustände abzufragen.Mit
externen interrupts funktioniert es bestens aber die beiden INT´s
reichen mir nicht. Möchte also PORTA als Eingang nutzen.

clr reg
out DDRA    ;Port A als eingang
ldi reg,0xFF
out PORTA,reg  ;Pullups ein

in reg,PINA0
tst reg
breq...etc.

funktioniert bloß nicht, und es im AVR-STUDIO wird es nicht simuliert.
Kann also nicht richtig nachvollziehen wo der fehler liegt. Hab ich
PORTA richtig konfiguriert?

von A.K. (Gast)


Lesenswert?

PINA0 ist die Nummer vom Pin, nicht die Adresse vom Port-A.
Also beispielsweise
    sbis PINA,PINA0
    rjmp ...
oder
    in reg,PINA
    andi reg,1<<PINA0
    ...

von Anfänger (Gast)


Lesenswert?

achso, da kann man also keine einzelnen pins einlesen. Ok besten dank
dann weiß ich bescheid.

von Simon Küppers (Gast)


Lesenswert?

Der Codeschnipsel oben hat nochn Fehler.

clr reg          ;reg = 0x00
out DDRA, reg    ;Port A als eingang
ser reg          ;reg = 0xFF
out PORTA, reg   ;Pullups ein

so sollte es dann klappen

von Anfänger (Gast)


Lesenswert?

Hab es so probiert:
PINA0 ist die Nummer vom Pin, nicht die Adresse vom Port-A.
Also beispielsweise
    sbis PINA,PINA0
    rjmp ...
Der µc erkennt den Zustands des PIN´s trotzdem nicht.

von ...HanneS... (Gast)


Lesenswert?

Probieren alleine bringt nix.
Schau dir mal am Ende des Datenblattes die Liste mit dem I/O-Bereich
an. Da sind alle Portnamen und deren Bitnamen aufgelistet. Meist hat
die Liste auch noch eine Spalte, in der die Seitennummer zu finden ist,
wo das jeweilige I/O-Register ausführlich erklärt wird.

...

von Condor (Gast)


Lesenswert?

Hast du auch das includfile geladen ?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.