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



Teraz jest 20 kwi 2024, o 02:36


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 16 lut 2018, o 18:05 
Offline
Użytkownik

Dołączył(a): 13 mar 2013
Posty: 123
Pomógł: 1

Witam
W ramach testu ,dla Atmegi8 napisałem takie najprostsze przerwanie Timera0 - ustalające własną częstotliwość i pobierające próbkę:

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


Zgodnie z BB dla przerwania wystarczy ISR (nazwa przerwania) { ciało przerwania} ityle.

Jednak po kompilacji w MkClipse dostaję taki komunikat błędu:

main.c:53:1: warning: return type defaults to 'int' [enabled by default]
ISR( TIMER0_OVF_vect ) {
^
main.c: In function 'ISR':
main.c:53:1: warning: type of '__vector_9' defaults to 'int' [enabled by default]
main.c:56:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
----------------
WARNING --> main.c --> Line: 53

Byłbym bardzo zobowiązany za wskazanie gdzie popełniam błąd i wyjaśnienie problemu, aby uniknąć takiej sytuacji na przyszłość.
Pozdrawiam
WTG



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lut 2018, o 18:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lip 2013
Posty: 208
Lokalizacja: Kielce
Pomógł: 15

A inkludowales interrupt.h ?

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


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lut 2018, o 19:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 lip 2017
Posty: 140
Pomógł: 6

Jak nie, to dołącz, dodaj sei() i pokaż jak zainicjowałeś timer, bo bez tego i tak nie zadziała :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lut 2018, o 20:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

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


pozdrawiam

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lut 2018, o 21:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 lip 2017
Posty: 140
Pomógł: 6

mczarny napisał(a):
Napisz wektor przerwania tak
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


pozdrawiam


Taki wektor nie istnieje



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lut 2018, o 21:45 
Offline
Moderator
Avatar użytkownika

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

DarkMajster napisał(a):
Taki wektor nie istnieje

a co za problem sprawdzić sobie w ECLIPSE jaki wektor istnieje dla danego procka ?

_________________
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: 16 lut 2018, o 21:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 lip 2017
Posty: 140
Pomógł: 6

mirekk36 napisał(a):
DarkMajster napisał(a):
Taki wektor nie istnieje

a co za problem sprawdzić sobie w ECLIPSE jaki wektor istnieje dla danego procka ?


Absolutnie żaden, dlatego stwierdzam, że powyższy jest błędny, a wektor autora wątku jak najbardziej poprawny ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lut 2018, o 21:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

Zrzut ekranu i podpowiedzi eclipsa w ramce
Obrazek
więc?

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lut 2018, o 22:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 lip 2017
Posty: 140
Pomógł: 6

Timer0 w atmedze8 nie ma możliwości pracy w trybie CTC

w nocie katalogowej też nie ma tego wektora:

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lut 2018, o 23:48 
Offline
Użytkownik

Dołączył(a): 13 mar 2013
Posty: 123
Pomógł: 1

danny napisał(a):
A inkludowales interrupt.h ?

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


No jasne! Najbardziej oczywiste błędy są najtrudniejsze do zauważenia. Reszta była OK i wszystko dalej poszło. Co do wektora, to niestety w Atmedze 8 nie ma CTC dla Timera0 i dlatego musiałem wykorzystać przerwanie od przepełnienia (OVF).
Serdecznie wszystkim dziękuję za pomoc .
WTG



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: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 10 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO