Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ASM (AVR) - Sprawdzanie stanu pinów w pętli

clipperuk 25 Lis 2012 15:03 1068 5
  • #1 25 Lis 2012 15:03
    clipperuk
    Poziom 2  

    Witam,

    mam taki problem, potrzebuje napisać pętlę sprawdzającą po kolei stan PINów np portu A za pomocą rozkazu SBIS... jednak nie wiem w jaki sposób podac argument do tego rozkazu... myślałem ze moge wpisac numer portu do któregoś rejestru np.

    ldi r16, 0x01
    sbis PINA, r16

    jendak rozkaz sbis nie przyjmuje rejestrów jako argumentu...
    jak inaczej moge odwołać się do konkretnuch pinów przy użyciu zmiennej ?

    pozdrawiam,
    Pawel

    0 5
  • #2 25 Lis 2012 15:30
    Klima
    Poziom 30  

    Może użyj in i potem sprawdzaj bity rejestru?

    0
  • #3 25 Lis 2012 19:44
    kamyczek
    Poziom 33  

    Trzeba to napisać następujaco :

    sbis porta,pina1

    0
  • #4 25 Lis 2012 19:50
    clipperuk
    Poziom 2  

    hm... ale chodzilo mi o mozliwosc zrobienia tego w petli... bo skad mam wiedziec pozniej ktory pin byl aktywny... a wpisywanie 8 razy sbis PINA, nr_pinu zaprzeca idei tego... idea jest taka ze sprawdzam w petli sbis PINA, i a pozniej wykorzystuje te 'i' do operowania tablica i innymi rejestrami w zaleznosci od potrzeb....

    0
  • #6 25 Lis 2012 20:17
    excray
    Poziom 39  

    kamyczek napisał:

    Trzeba to napisać następujaco :

    sbis porta,pina1

    Jak już coś to sbis pina,pa1 albo sbis pina,1

    clipperuk napisał:
    hm... ale chodzilo mi o mozliwosc zrobienia tego w petli... bo skad mam wiedziec pozniej ktory pin byl aktywny...

    Albo robisz jako IN + maska na bity klawiatury:
    Kod: asm
    Zaloguj się, aby zobaczyć kod

    albo sprawdzanie do wykrycia pierwszego wciśniętego klawisza:
    Kod: asm
    Zaloguj się, aby zobaczyć kod

    albo tak:
    Kod: asm
    Zaloguj się, aby zobaczyć kod

    albo jeszcze w inny sposób a jest wiele sposobów.

    0