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..
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 |
Es gibt hier ein schönes Tutorial http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen#Eingabe
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.