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



Teraz jest 21 maja 2019, o 00:38


Strefa czasowa: UTC + 1





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

Dołączył(a): 03 sie 2017
Posty: 73
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: 24306
Lokalizacja: Szczecin
Pomógł: 915

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: 1519
Pomógł: 264

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:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 wrz 2015
Posty: 254
Lokalizacja: Zamość
Pomógł: 5

Tak z ciekawości wrzuciłem ten kod do MkClipse/eclipse w linii 24 dałem średnik jest:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
wytłumaczy mi ktoś dlaczego ";" pozwolił normalnie skompilować kod, bez żadnego błędu?



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

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

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 21:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 wrz 2015
Posty: 254
Lokalizacja: Zamość
Pomógł: 5

@Adam12: dzięki za informacje, ja się uczę dopiero, więc takie informacje przydatne dla mnie.

Wysłane z mojego moto g(6) przy użyciu Tapatalka



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

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

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 15:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 wrz 2015
Posty: 254
Lokalizacja: Zamość
Pomógł: 5

Kolejne pytanko, w kodzie jest użyte: "TIM0_COMPA" nie powinno być: "TIM0_COMPA_vect"



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

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

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: 1519
Pomógł: 264

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: 12 maja 2019, o 17:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 wrz 2015
Posty: 254
Lokalizacja: Zamość
Pomógł: 5

@Bystrzacha: Problem rozwiązany?



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

Dołączył(a): 03 sie 2017
Posty: 73
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: 12 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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