Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

AVR305 - Nieblokujące odbieranie

30 Sty 2018 17:28 552 1
  • Poziom 14  
    Witam. Potrzebuje przerobić bibliotekę do programowego UART z noty atmela AVR305. MOże ktoś już z tym działa i wie jak to zrobić dobrze ?

    Na assemblerze nie specjalnie się znam ale wykoncypowałem żeby z coś w stylu licznika timeout żeby przy braku odbieranych znaków wychodził z tej funkcji sgetchar.

    Zrobiłem coś takiego ale coś to nie działa bo dalej program się blokuje :/

    Krótko mówiąc ustawiamy rejestry R26 i R27 (jako rejestr 16 bitowy) i dokonujemy odejmowania 1 czyli dekrementacji tego rejestru i jak dojdzie do 0 to powinno wyjść z tej funkcji. Takie coś wstawiłem do getchar1. Wydaje mi sie źe ten skok do ret może być nieprawidłowy :/ Pomoże ktoś ?

    Kod: avrasm
    Zaloguj się, aby zobaczyć kod


    W main.c wywołuję sobie to tak:

    Kod: c
    Zaloguj się, aby zobaczyć kod
  • Poziom 39  
    Czemu chcesz to pisać w asemblerze? Zrealizuj sobie odbiór na bazie bufora kołowego. Znajdziesz sporo gotowych przykładów w C.