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

Samoczynne wyłączanie się przerwania UARTu ?!

AVRowiec 20 Mar 2010 15:42 771 4
REKLAMA
  • #1 7856644
    AVRowiec
    Poziom 18  
    Mam dziwny problem.
    Atmega128 pracuje wykorzystując dwa uarty. Obydwa podpięte pod terminal.
    UART0 tylko i wyłącznie ustawia flagi po interpretacji treści. To przerwanie zawiesza się po uruchomieniu funkcji z przerwania UART1. Wywoływana funkcja do poprawnego wykonania się potrzebuje stanu flag z UART0. Niestety UART0 zachowuje się tak jakby go nie było.. Dlaczego?
    Przerwanie UART1 w momencie wywoływania treści jest zatrzymywane (ale nawet jeśli nie to nic to nie zmienia).
    Teoretycznie mógłbym przekazać wywołanie się tej funkcji do maina ustawiając jakąś flage ale nie widze takiej potrzeby. Pozatym zastanawiam się dlaczego to nie działa ;/

    Byćmoże istnieją jakieś warunki zatrzymywania/przerywania przerwań z jakiś tam powodó. Jeśli tak to jakich?

    Proszę o radę.
  • REKLAMA
  • #2 7856842
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #3 7857013
    michalko12
    Specjalista - Mikrokontrolery
    AVRowiec napisał:
    Proszę o radę.


    Wiesz co to jest? Link
    Bo po przejrzeniu paru twoich wątków wstecz wnioskuję, że raczej nie bardzo kojarzysz co oznacza i do czego to służy.
  • REKLAMA
  • #4 7857352
    AVRowiec
    Poziom 18  
    Domyślam się że winny jest mój kod. Pytanie tylko dlaczego.

    Nie wkleje całości bo są tego 3000 linijek.

    Bardziej zastanawia mnie czego robić się nie powinno kiedy korzysta się z UARTów i o takie rady proszę a nie o link do guzika POMÓGŁ...
  • #5 7857422
    __Grzegorz__
    Poziom 30  
    Odpowiedź na Twoje pytanie jest banalna:

    Nie umiesz ZE ZROZUMIENIEM czytać dokumentacji procesorów na których pracujesz.

    Pytasz czego nie robić - tego o czym nie napisano w datasheecie.

    A Twoje kategoryczne stwierdzenia powodują uśmiech na twarzy
    ludzi zajmujących się kodowaniem na poważnie.


    Podsumowując:
    
    while (!understood)
        RTFM();
    
REKLAMA