Gast
#769030
Wie kann ich denn attiy2313 in Assembler den Befehl geben PD5 auf 5V zu legen? Versehe leider das Tuturial nicht...
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
das versteh ich ja noch aber wie geht das jetzt für PD5? Simon
|
Anzeige
|
assembler befehl
Gast
#769030
Wie kann ich denn attiy2313 in Assembler den Befehl geben PD5 auf 5V zu legen? Versehe leider das Tuturial nicht...
das versteh ich ja noch aber wie geht das jetzt für PD5? Simon
Gast
#769032
Entschuldigung
Ich kann kein bisschen Assembler aber das weiß ich dann doch^^ Also: ldi r16, 0xFF out PORTB, r16 heißt das er in das Register den Dezimalwert 255 lädt und danach das auf das Portregister PORTB gibt. Heißt alle Pins von PORTB werden auf 5V gesetzt. Jetzt musst du nur FF durch deinen wert ersetzen. Du kannst es auch Binär eingeben also 0b11111111 z.B. P.S.: Du musst natürlich PORTB voher auf Ausgang setztn mit DDRB Gruß Robin T. Ups das was ich geschrieben habe steht da ja eigentlich schon. Mmmh na gut. PD5 setzt du folgendermaßemn: ldi r16, 0xFF out DDRD, r16 ldi r16, 0b00100000 out PORTD, r16 Gruß Robin T.
Gast
#769043
Auch wenn ich sowas sonst nicht beantworte, hab einen guten Tag:
DDRD ist das Data Direction Register für Port D. Dort wird mittgeteilt das Pin 5 des Ports als Ausgang verwendet werden soll (0b00010000=0x10). Mit out PORTD, r16 wird noch der Pin selber auf Vcc gesetzt da sich der Wert 0b00010000 in r16 befindet. Btw: Die 2. Anweisung (ldi r16, 0b00010000 ; 0b00010000 in r16 laden) kann man weglassen da dieser Wert eh noch im r16 durch die 1. Anweisung steht.
Gast
#769049
Vielen Danke! Hab das jetzt verstanden. Simon Im letzten Beitrag habe ich PORTD verwendet, habe am Anfang nur den Code mit DDRB, PORTB, und sowas gelesen, dass er PD5 setzen wollte hab ich erst überlesen *schäm*^^ Allerdings hast du glaube ich PD4 auf 1 gesetzt^^ Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|