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



Teraz jest 16 kwi 2024, o 19:57


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 6 lip 2015, o 18:15 
Offline
Użytkownik

Dołączył(a): 15 sie 2014
Posty: 87
Pomógł: 0

Mam problem z tym żeby zadziałało mi przerwanie po ustawieniu timera 16-bitowego. Chciałbym dobrze zrozumieć o co chodzi w tym trybie CTC i jak działa ten rejestr porównania. Jeżeli jest jakiś błąd w moim programie i mógłby mi powiedzieć na czym on polega i dlaczego stan diody się nie zmienia byłbym wdzięczny.Chodzi mi też o różnicę w tych rejestrach OCR1A iOCR1B i to jak nazwa takiego rejestru ma się do wektora przerwania. Korzystam z procesora atmega 32. Za wszelkie rady będę niezmiernie wdzięczny.

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


------------------------ [ Dodano po: 34 minutach ]

Dobra zadziałało ale mam kilka pytań wprowadziłem małe zmiany i stan diody się zmienia podaję program i zapytam dlaczego pewne korekty spowodowały zadziałanie:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



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


A mianowicie ostatnia literka w nazwie rejestru i wektorze przerwania zsotała zmieniona z B na A. Moje pytanie brzmi dlaczego właśnie tak musi być?



Ostatnio edytowano 6 lip 2015, o 18:51 przez moscow18-1990, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2015, o 18:50 
Offline
Moderator
Avatar użytkownika

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

moscow18-1990 napisał(a):
Chciałbym dobrze zrozumieć o co chodzi w tym trybie CTC i jak działa ten rejestr porównania. Jeżeli jest jakiś błąd w moim programie i mógłby mi powiedzieć na czym on polega i dlaczego stan diody się nie zmienia byłbym wdzięczny.

Uwierz mi, że nie chodzi o to żeby każdego odsyłać do noty PDF ... no ale w tym przypadku to na prawdę chociażby nie wiem co to jednak - sam nie zrozumiesz - jak nie zajrzysz do nory do czego są rejestry

TCCR1A
TCCR1B

możesz teraz zajrzeć ??? (nawet nie czytać tylko zobaczyć opis bitów na tych obrazkach w nocie) ... proszę

A jak już zajrzysz - to użyj do realizacji przerwania: OCR1A i TIMER1_COMPA_vect zamiast tego z B ... (to też wynika właśnie z noty jak sobie zajrzysz do opisu rejestru TCCRx do tabelki trybów - jak rzucisz okiem na CTC to zobacz od jakiego rejestru leci porównanie OCR1A czy OCR1B

------------------------ [ Dodano po: kilkunastu sekundach ]

moscow18-1990 napisał(a):
A mianowicie ostatnia literka w nazwie rejestru i wektorze przerwania zsotała zmieniona z B na A. Moje pytanie brzmi dlaczego właśnie tak musi być?

Jak pisałem wyżej zajrzyj do noty do opisu tych dwóch rejestrów i zrozumiesz

_________________
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: 6 lip 2015, o 19:03 
Offline
Użytkownik

Dołączył(a): 15 sie 2014
Posty: 87
Pomógł: 0

Chodzi o czwarty wiersz w tej tabelce i kolumnę TOP? W tej kolumnie TOP jest podany rejestr OCR1A i dlatego mam ustawić go jako rejestr porównania? Przepraszam że zadaję takie pytania być może to dla innych jest oczywiste ale mimo wszystko muszę dopytać..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2015, o 19:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Jeszcze popraw włączanie przerwań
funkcja sei().
Teraz program wogóle do niej nie dochodzi bo zatrzymany jest
w pętli while(1) .
sei() wywołaj bezpośrednio przed tą pętlą (pętlą główną).


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2015, o 19:43 
Offline
Moderator
Avatar użytkownika

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

moscow18-1990 napisał(a):
W tej kolumnie TOP jest podany rejestr OCR1A i dlatego mam ustawić go jako rejestr porównania?

Dokładnie.

moscow18-1990 napisał(a):
Przepraszam że zadaję takie pytania być może to dla innych jest oczywiste ale mimo wszystko muszę dopytać..

Nie ma za co przepraszać po to jest to forum ...


Autor postu otrzymał pochwałę

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

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