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.

Różnica między Px a PINx, jaka?

monterinio 06 Lis 2013 18:58 798 2
  • #1 06 Lis 2013 18:58
    monterinio
    Poziom 7  

    Witam.

    Jaka jest różnica między:
    PORTx |= 1 << PINA0;
    a
    PORTx |= 1 << PA0;

    Jestem początkujący, w dwóch różnych źródłach spotkałem takie zapisy. Z tego co udało mi się do tej pory ustalić, to komenda PIN jest rejestrem odczytu. W książce "AVR ATmega w praktyce" jest fragment: "Rejestrem, który stanowi parę dla PORTx, jest PINx. O ile ten pierwszy przechowuje wartości wymuszane przez mikrokontroler, to PINx zawiera znaczniki, które odpowiadają stanowi faktycznemu portu (stanowi "widzianemu" przez układ)."

    Niestety, nie wiele z tego rozumiem, dlatego proszę o pomoc w wyjaśnieniu tego fragmentu w jakiś bardziej "łopatologiczny" sposób.

    Zapis Px jest o tyle intuicyjnie zrozumiały, że wynika z dokumentacji Atmegi, a konkretnie z jej schematu, jednak dalej nie widzę różnicy.

    0 2
  • #2 06 Lis 2013 19:17
    excray
    Poziom 39  

    Żadna. Możesz jeszcze napisać PORTA |= 1<<6; I tak sprowadzi się to do sbi 0x1B, 6 lub jak kto woli do "0xDE 0x9A" w pamięci programu. W przypadku ATMEGA32 oczywiście.

    0