Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 mar 2024, o 14:40


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 10 maja 2019, o 19:33 
Offline
Użytkownik

Dołączył(a): 03 sie 2017
Posty: 94
Pomógł: 0

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:

Składnia: [ Pobierz ] [ Ukryj ]
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 :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 maja 2019, o 19:44 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

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

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 maja 2019, o 19:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 maja 2019, o 21:33 
Offline
Użytkownik

Dołączył(a): 09 lut 2017
Posty: 73
Lokalizacja: 51°03′22″N 15°45′48″E
Pomógł: 18

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 maja 2019, o 22:19 
Offline
Użytkownik

Dołączył(a): 09 lut 2017
Posty: 73
Lokalizacja: 51°03′22″N 15°45′48″E
Pomógł: 18

No ja też się uczę, dlatego mnie takie dziwne przypadki ciekawią i staram się zawsze rozgryźć o co chodzi.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 maja 2019, o 17:49 
Offline
Użytkownik

Dołączył(a): 09 lut 2017
Posty: 73
Lokalizacja: 51°03′22″N 15°45′48″E
Pomógł: 18

Oczywiście, tutaj też jest błąd, zawsze powinno być _vect na końcu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 maja 2019, o 17:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Jeszcze ten zapis kłuje ;) w oczy:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


powinno być:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 maja 2019, o 15:45 
Offline
Użytkownik

Dołączył(a): 03 sie 2017
Posty: 94
Pomógł: 0

Tak, dziękuję :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 9 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO