www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIN einelesen


Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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
    ...

Autor: Anfänger (Gast)
Datum:

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

Autor: Simon Küppers (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: Condor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du auch das includfile geladen ?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.