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

[Atmega128][C] dostęp do portu F

piotrek700 23 Lut 2011 10:38 980 2
  • #1 9191050
    piotrek700
    Poziom 13  
    Witam, posiada Atmega128 i jestem zmuszony użyć portu F jako wyjścia. Korzystam z AVRStudio 4.18 lecz rejestry tego portu nie są dostępne. Dowiedziałem się, że to tych rejestrów trzeba dostać się przy pomocy funkcji LDS/STS i tu rodzi się moje pytanie: Czy są jakieś odpowiedniki tych funkcji w języku C. Jak mogę ustawiać/kasować pojedyncze bity na porcie F? Przeszukałem forum i google ale są tylko przykłady dla assemblera, nic dla C. Był bym wdzięczny jeśli mogli byście pokazać przykład ustawienia i kasowania bitów na porcie F.
  • Pomocny post
    #2 9191088
    Andrzej__S
    Poziom 28  
    Cytat:

    Dowiedziałem się, że to tych rejestrów trzeba dostać się przy pomocy funkcji LDS/STS...

    Jak piszesz w C nie musisz się o takie rzeczy martwić. To zadanie kompilatora dobrać odpowiednią instrukcję.
    Cytat:

    Przeszukałem forum i google ale są tylko przykłady dla assemblera, nic dla C.

    Na pewno są też dla C, ale podam jeszcze raz:
    
    // kasowanie bitu 5 (bit 5 = 0)
       PORTF &= ~(1<<5);
    // ustawianie bitu 5 (bit 5 = 1)
       PROTF |= (1<<5);
    


    EDIT:
    No i jeszcze jedna uwaga. W celu pełnego korzystania z PORTF musisz mieć wyłączony extended fusebit "ATmega103 Compatibility". Poczytaj rozdział "ATmega103 and ATmega128 Compatibility" w datasheet do ATmega128.
  • #3 9191581
    paw789
    Poziom 18  
    Należy również pamietac aby wyłączyc w fusebit'ach JTAG'a
REKLAMA