Hallo, ich möchte bei meinem ATtiny26 am PORT A die PINs 5,6,7 als Ausgang nutzen und die PINs 1,2 und 4 als Eingang. Wie kann ich nun die PORT PINs 5,6 und 7 beschreiben, ohne das die anderen PINs beeinflusst werden? Normal geht sowas ja mit der ODER verknüpfung, aber ich kann den PORTA leider nicht ODER mit z.B. R16 verküpfen. or PORTA, r16 was muss ich tun?
Hi >Wie kann ich nun die PORT PINs 5,6 und 7 beschreiben, ohne das die >anderen PINs beeinflusst werden? Port einlesen Bits verändern Port augeben oder cbi/sbi benutzen. MfG Spess
> oder cbi/sbi benutzen. Daran hab ich auch gedacht, aber es scheint mir sehr aufwändig jede LED einzeln Ein- bzw. Aus zu schalten... > Port einlesen > Bits verändern > Port augeben So möchte ich vorgehen, ja. Aber ein PORT teilt sich ja Ein und Ausgabe... Oder könntest du mir das genauer erklären, was du damit sagen möchtest.
Hi
>Oder könntest du mir das genauer erklären, was du damit sagen möchtest.
in r16, PortA ; Port einlesen
andi r16, 0b00011111 ; Bit 5,6,7 löschen
ori r16,0bxyz00000 ; Bits setzen
out PortA,r16
MfG Spess
123456 schrieb: >> oder cbi/sbi benutzen. > > Daran hab ich auch gedacht, aber es scheint mir sehr aufwändig jede LED > einzeln Ein- bzw. Aus zu schalten... na ja. übertreib mal nicht. Aufwändig geht anders. Äufwändig sind 4500 Zeilen Source Code zur Bestimmung, wie genau der Verputz geometrisch in eine Fensterlaibung hineingezogen werden muss und welches Volumen sich daraus ergibt. 3 LED einschalten sind 3 Anweisungen. > >> Port einlesen >> Bits verändern >> Port augeben > > So möchte ich vorgehen, ja. Aber ein PORT teilt sich ja Ein und > Ausgabe... ja und? > Oder könntest du mir das genauer erklären, was du damit sagen möchtest. Port in Register einlesen gewünschte Bits setzen bzw. löschen (mittels OR oder AND, je nachdem) Register wieder zurückschreiben solltest du eigentlich hinkriegen.
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.