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



Teraz jest 23 lis 2024, o 22:14


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 9 kwi 2018, o 18:51 
Offline
Użytkownik

Dołączył(a): 04 kwi 2015
Posty: 26
Pomógł: 0

Witam, mam taki problem że dioda led podpięta pod pin PB1 rozjaśnia się tylko za pierwrszym razem aż do osiągnięcia wartosci 1023, potem nie gasnie tylko świeci czały czas a n na mierniku częstotliwość spada do 0.

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


Dodam jeszcze tyle że kod działa poprawnie jeśli nie ma przerwań.



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

Dołączył(a): 23 paź 2014
Posty: 1030
Lokalizacja: Trójmiasto
Pomógł: 189

A czemu się dziwisz. Masz ustawiony tryb FastPWM w którym licznik liczy do wartości wpisanej do rejestru ICR1 (jest to wartość TOP licznika w tym trybie i po doliczeniu do tej wartości jest sprzętowo resetowany)). I teraz porównania masz na początku na 500. I wszystko jest OK - przerwanie się wywołuje bo licznik liczy do 986 (tyle wpisałeś do ICR1). Teraz sukcesywnie zwiększasz wartość porównania OCR1A wpisując wartość zmiennej vok do OCR1A w przerwaniu - a od tego porównania wykonuje się przerwanie. W momencie gdy wartość OCR1A jest już większa od ICR1 czyli od 986 przerwanie się przestaje wykonywać i cała reszta przestaje działać bo przecież wartość ze zmiennej vok jest ładowana do OCR1A w samym przerwaniu które przecież już się nie może wywołać bo wartość porównania jest większa od wartości do której zlicza licznik! (zawartość w OCR1A stanie na wartości 987 i już nie ma jak być zmienione bo porównanie nigdy nie nastąpi ponieważ licznik liczy tylko do 986)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 kwi 2018, o 19:42 
Offline
Użytkownik

Dołączył(a): 04 kwi 2015
Posty: 26
Pomógł: 0

dzięki wielkie za pomoc, żle zinterpretowałem note katalogowom.

A czy można dla każdego kanału wpisywać wartość do którego licznik liczy czyli do ICR1A i ICR1B??



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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