anfanger Frage

Gast #425964
Lesenswert?

mit welcher befehl kann ich der zustand einer port fragen? ich 
programmiere im assembler (ATtiny26).
Ich möchte eigenlich daten empfangen.Ich habe so gedacht , ich frage 
immer auf welche zustand ist der empfangsport (um beispiel bei mir 
PORTB0)und dann schreibt ich im meiner empfansregister entweder ein 0 
oder 1 danach ein logical shift left und so weiter bis ich meine 8 
datenbits habe.
ich gucke hier der instruction set sommary aber finde nicht der richtige 
befehl..dachte ic könnte das mit IN machen aber es passiert gar nichts..
weiss jemand wie ich machen kann ,oder hat jemand anders für 
datenempfang gemacht? übrigens ich habe 1 startbit,8 datenbits und 1 
stopbit..
#425971
Lesenswert?

Also was du eigentlich willst kann ich zwar nicht erkennen, aber von 
einem Port lesen kannst du durchaus mit in. Du musst allerdings darauf 
achten, dass du vom Port-EINGANGS-Register liest. Also von den 
PINx-Registern. Ansonsten liest du den Zustand der Pullups ein.
Etwa so:
1
;Unterer Nibble Ausgang, oberer Nibble Eingang
2
ldi r16, 0b00001111
3
out DDRA, r16
4

5
;Alle Ausgänge auf 1, Pullups aktivieren
6
ldi r16, 0b11111111
7
out PORTA, r16
8

9
;Zustände der Pullups lesen (Ergibt überall 1)
10
in r16, PORTA
11

12
;Zustände der Pins lesen
13
in r16, PINA

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren