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

[Atmega2560][asm]brak dostępu do rejestru TIMSK0

Dastur 18 Paź 2010 14:30 1043 2
  • #1 8634361
    Dastur
    Poziom 10  
    Witam wszystkich ;)
    Czy ktoś może mi udzielić jakiejś wskazówki jak w procesorze Atmega2560 wpisać do rejestru TIMSK0 wartość 0x01. Chcę zrobić układ w którym po przepełnieniu Timera występuje przerwanie. I wszystko działa dobrze tylko muszę ręcznie (poprzez kliknięcie myszką) ustawiać ten rejestr. Próbowałem już wpisywać do niego wartość poleceniami MOV, LDI, OUT, jednak kompilator wyrzuca natychmiast błędy. Intryguje mnie wartość w kolumnie adres, wszystkie rejestry mają dwie wartości, natomiast TIMSK0 ma tylko jedna, myślę, że to może być przyczyną, tylko jak ją rozwiązać?. Zamieszczam screen:

    [Atmega2560][asm]brak dostępu do rejestru TIMSK0

    ps. oczywiście programuję w asemblerze ;)
  • Pomocny post
    #2 8634749
    Braindeath
    Poziom 11  
    Dla rejestrów o adresach powyżej bodajże 0x3F stosuje się do zapisu STS zamiast OUT
    W Twoim przypadku:
    
    ldi R16, (1<<TOIE0)
    sts TIMSK0, R16
    


    Pozdrawiam
  • #3 8635206
    Dastur
    Poziom 10  
    O to właśnie chodziło ;) teraz już wszystko działa.
    Dzięki
REKLAMA