Forum: Mikrocontroller und Digitale Elektronik anfanger Frage


von MIKE (Gast)


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..

von Philipp B. (philipp_burch)


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

von Werner B. (Gast)


Lesenswert?


von Peter D. (peda)


Lesenswert?

Ne Software-UART ist nicht so die richtige Anfängeraufgabe.
Da muß man schon ein Gefühl für genaue Timings haben und mit Interrupts 
sollte man auch dicke per du sein.

Wechsele auf nen ATtiny2313 oder ATmega8, die haben schon ne UART 
drinne.


Peter

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.