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ś ?
W main.c wywołuję sobie to tak:
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: AVR assembler
W main.c wywołuję sobie to tak:
Kod: C / C++