logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[bascom avr] odczyt tylko 5 bitów z 8 bitowego portu

MES Mariusz 03 Paź 2009 12:34 1811 2
REKLAMA
  • #1 7085516
    MES Mariusz
    Poziom 36  
    Pytanko z cyklu "jak to robicie?" :-)

    Załóżmy, że w projektowanym układzie mam port A skonfigurowany następująco:

    PA.0...PA.4 - skonfigurowane jako wejścia
    PA.5...PA.7 - skonfigurowane jako wyjścia.

    Chciałbym jednym poleceniem odczytać pierwsze pięć bitów.

    Oczywiście mógłbym odczytać cały port: zmienna = portA i wykonać stosowne operacje bitowe na zmiennej, tyle, że nie jestem pewien, czy nie da się tego zrobić bardziej poprawnie? (jakby nie było bezcelowo odczytuję wtedy za każdym razem wartości PA.5...PA.7, tym bardziej, że są skonfigurowane jako wyjścia).
  • REKLAMA
  • Pomocny post
    #2 7085613
    kuuczoo
    Poziom 26  
    Myślę że bardziej poprawnie już się nie da, o ile potrzebujesz w dalszych działaniach wszystkich 5 bitów na raz. Jeśli nie, to można po prostu w stosownym czasie odczytać pojedynczy bit.
  • Pomocny post
    #3 7085645
    pubus
    Poziom 30  
    Tak jak napisał kolega wyżej...
    Jeżeli potrzeba więcej niż jeden bit to przez maskę bitowa zmienna = portA & 0x1F
REKLAMA