Ich habe ein Problem beim Eingang einlesen. .include "m8def.inc" ldi r16, 0xFF out DDRB, r16 ldi r16, 0x00 ldi r16, 0xFF out PORTD, r16 loop: in r16, PIND out PORTB, r16 rjmp loop Mein Problem ist das bei dem Pollin Board sowohl Taster und auch die Leds alle an Port D angeschlossen sind. Ich bräuchte es vom Sinn her so: in r16, PIND3 out PB5, r16 rjmp loop So funktioniert das aber nicht. Ich habe schon alle möglichen Schreibweisen probiert und Anleitungen durchforstet, finde aber nicht wie man in Assembler nur einen Eingang ausliest und auch direkt wieder ausgibt. Danke schon mal
Hallo
1 | Pseudocode: |
2 | |
3 | PIND in Register1 einlesen |
4 | |
5 | Bitmaske mit gesetztem 3.Bit in Register2 stecken |
6 | |
7 | Register1 mit Register2 ver&en, 3.Bit ist jetzt herausgegriffen |
8 | |
9 | Register1 um 2 bits verschieben |
10 | |
11 | Register1 auf PortB ausgeben |
Wenn du noch mehr Bits brauchst, oder mehr Bits umsortieren musst, brauchst du noch ein Register wo du den kram zwischenspeicherst. Einzelne Bits in ein Register zu bekommen machst du mit verODERn. mfg mf
Hi Im Prinzip mußt du lernen, das dies nix mit dem pollin Board zu tun hat, sondern nur eine allgemeine Anleitung ist, wie Portbits eingelesen und ausgegeben werden. Wie das geht, steht im Tutorial drin. Mit C&P wird das nix. Verstehe erst einmal, welcher Befehl einen Portpin konfiguriert, also ihn zum Eingang oder Ausgang macht. Des weiteren mußt du wissen, ob es was bringt, die PullUp-Widerstände einzuschalten. Wird dir beim Pollin Board nix nützen, da die Taster an 5 V sind, daher brauchst du schon mal PullUp, also Widerstände gegen GND, das geht nur extern. Mein Tip: arbeite dich erst mal durch die Tutorials durch. Gruß oldmax
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.