ATNEL tech-forum https://forum.atnel.pl/ |
|
Przerwanie w ATtiny13A https://forum.atnel.pl/topic22247.html |
Strona 1 z 1 |
Autor: | Bystrzacha [ 10 maja 2019, o 19:33 ] |
Tytuł: | Przerwanie w ATtiny13A |
Witam, próbuję napisać program, który będzie wywoływał przerwanie mniej więcej 1000 razy na sekundę do ATtiny13A, jednak po wstępnej kompilacji, program wyrzuca mi błąd z którym nie potrafię sobie poradzić, gdyż jestem początkującym w tej kwestii. Oto cały kod: język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Będę wdzięczny za nakierowanie na właściwy tor rozumowania |
Autor: | mirekk36 [ 10 maja 2019, o 19:44 ] |
Tytuł: | Re: Przerwanie w ATtiny13A |
no no a procedura obsługi przerwania siedzi jak jakiś nowotwór wewnątrz funkcji main() - więc nie dziwota że kompilator wymiotuje błędami |
Autor: | anshar [ 10 maja 2019, o 19:47 ] |
Tytuł: | Re: Przerwanie w ATtiny13A |
Procedura obsługi przerwania musi się znajdować poza ciałem funkcji int main(void) czyli ostatni nawias klamrowy tego kodu powinien znajdować się przed komentarzem: //to co ma się stać w wyniku przerwania |
Autor: | Adam12 [ 10 maja 2019, o 21:33 ] |
Tytuł: | Re: Przerwanie w ATtiny13A |
Wygląda na to, że kompilator w pierwszym przebiegu stwierdza, że funkcja ISR jest pusta (po wstawieniu średnika) więc od razu ją pomija bez sprawdzania poprawności. Następne instrukcje i tak się nie wykonają bo powyżej jest while(1) {}, więc też je pomija. |
Autor: | Adam12 [ 10 maja 2019, o 22:19 ] |
Tytuł: | Re: Przerwanie w ATtiny13A |
No ja też się uczę, dlatego mnie takie dziwne przypadki ciekawią i staram się zawsze rozgryźć o co chodzi. |
Autor: | Adam12 [ 11 maja 2019, o 17:49 ] |
Tytuł: | Re: Przerwanie w ATtiny13A |
Oczywiście, tutaj też jest błąd, zawsze powinno być _vect na końcu. |
Autor: | anshar [ 11 maja 2019, o 17:56 ] |
Tytuł: | Re: Przerwanie w ATtiny13A |
Jeszcze ten zapis kłuje w oczy: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. powinno być: |
Autor: | Bystrzacha [ 15 maja 2019, o 15:45 ] |
Tytuł: | Re: Przerwanie w ATtiny13A |
Tak, dziękuję |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |