Forum: Mikrocontroller und Digitale Elektronik portts in asm setzen


von neuer (Gast)


Lesenswert?

gibt es diese zwei möglichkeiten um ein port als ausgang zu schalten 
beim atmega , hier portd.5 ?

ldi r24,5
out ddrd,r24

und

sbi ddrd,5

von Falk B. (falk)


Lesenswert?


von Daniel B. (und3rt4ker)


Lesenswert?

Hi, neuer,
du bist ja ganz schön neu^^
Port: Meist 8 Pins, manchmal aber auch weniger
Pin: Ein Anschlussbeinchen

Du willst an Portd den Pin 5 als ausgang schalten, also so:

ldi r16, (1<<5)
out ddrd, r16

oder wie du sagtest

sbi ddrd,5

Mfg
und3rt4ker
P.S.: @ Falk:
So gehts auch ;-)

von Johannes M. (johnny-m)


Lesenswert?

Erstens ist Deine Shift-Taste offensichtlich kaputt.

Zweitens ist die erste Methode nur dann sinnvoll, wenn mehrere Bits 
gesetzt werden sollen bzw. in diesem Fall, wenn alle anderen Bits in 
DDRD gelöscht werden sollen. sbi setzt in DDRD nur das betreffende Bit, 
während alle anderen Bits unverändert bleiben.

von neuer (Gast)


Lesenswert?

ja, gehen beide versionen? wo ist die grenze bei den einzelnen befehlen 
die ich benutze um den pin 5 vom portd als ausgang zu setzen?

von Johannes M. (johnny-m)


Lesenswert?

neuer wrote:
> ja, gehen beide versionen? wo ist die grenze bei den einzelnen befehlen
> die ich benutze um den pin 5 vom portd als ausgang zu setzen?
Erstens habe ich ziemlich präzise die Unterschiede zwischen den beiden 
Versionen erläutert. Und solange Du Dich immer noch weigerst, 
Großbuchstaben zu benutzen, werde ich nichts mehr dazu sagen.

von neuer (Gast)


Lesenswert?

sbi PORTB, PB5          ; identisch, besser lesbar

was heisst das denn schon wieder :
                        ; funktioniert nur für die IO-Register 0..0x1F

wo steht denn, welches io-register der pind.5 hat?

was mache ich, wenn das io-register grösser ist > 0x1F

von Falk B. (falk)


Lesenswert?

@ neuer (Gast)

>ja, gehen beide versionen?

Sie sind verschieden. LESEN!

>wo ist die grenze bei den einzelnen befehlen
>die ich benutze um den pin 5 vom portd als ausgang zu setzen?

Welche Grenze?

MFG
Falk

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.