eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaatxmega32a4, przerwania USART i resetowanie uC...Re: atxmega32a4, przerwania USART i resetowanie uC...
  • Data: 2011-06-05 21:07:43
    Temat: Re: atxmega32a4, przerwania USART i resetowanie uC...
    Od: Martin Lukasik <m...@m...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On Jun 5, 8:36 pm, Michoo <m...@v...pl> wrote:

    > Nie, nie "niewiadomogdzie", ale właśnie pod reset (tam wskazują
    > wszystkie niezdefiniowane przerwania) - możesz za pomocą jakiegoś
    > objdump/gdb zobaczyć jak wygląda reset vector - czy jest jakaś funkcja
    > przypisana.

    Niestety nie ma nic pod tym wektorem. Rozumiem, że wektor resetu to 0.
    W asmie mam tylko wektory 58 i 60, co jest zgodne z założeniami i moim
    programem. Nie mam tam nigdzie skoku do wektora 0.

    w .lss mam:

    00000212 <__vector_58>:
    }




    ISR(USARTE0_RXC_vect) { //UART receive interrupt
    212: 1f 92 push r1
    214: 0f 92 push r0
    216: 0f b6 in r0, 0x3f ; 63
    218: 0f 92 push r0
    21a: 11 24 eor r1, r1
    21c: 8f 93 push r24
    21e: ef 93 push r30
    220: ff 93 push r31
    data = USARTE0.DATA;
    222: 80 91 a0 0a lds r24, 0x0AA0
    226: 80 93 00 20 sts 0x2000, r24
    PORTA.OUTTGL |= (1 <<PIN0); // PA0 is toggled
    22a: e0 e0 ldi r30, 0x00 ; 0
    22c: f6 e0 ldi r31, 0x06 ; 6
    22e: 87 81 ldd r24, Z+7 ; 0x07
    230: 81 60 ori r24, 0x01 ; 1
    232: 87 83 std Z+7, r24 ; 0x07

    /* lcd_puts("INT triggered");
    lcd_puts(UARTgetc(&USARTD0));
    show_display();
    */
    }
    234: ff 91 pop r31
    236: ef 91 pop r30
    238: 8f 91 pop r24
    23a: 0f 90 pop r0
    23c: 0f be out 0x3f, r0 ; 63
    23e: 0f 90 pop r0
    240: 1f 90 pop r1
    242: 18 95 reti

    00000244 <__vector_60>:

    ISR(USARTE0_TXC_vect) { //UART receive interrupt
    244: 1f 92 push r1
    246: 0f 92 push r0
    248: 0f b6 in r0, 0x3f ; 63
    24a: 0f 92 push r0
    24c: 11 24 eor r1, r1
    24e: 8f 93 push r24
    250: ef 93 push r30
    252: ff 93 push r31
    PORTA.OUTTGL |= (1 <<PIN1); // PA1 is toggled
    254: e0 e0 ldi r30, 0x00 ; 0
    256: f6 e0 ldi r31, 0x06 ; 6
    258: 87 81 ldd r24, Z+7 ; 0x07
    25a: 82 60 ori r24, 0x02 ; 2
    25c: 87 83 std Z+7, r24 ; 0x07
    }
    25e: ff 91 pop r31
    260: ef 91 pop r30
    262: 8f 91 pop r24
    264: 0f 90 pop r0
    266: 0f be out 0x3f, r0 ; 63
    268: 0f 90 pop r0
    26a: 1f 90 pop r1
    26c: 18 95 reti



    Wygląda ok... Przeoczyłem coś?

    Dzieje się magia...


    m.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: