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



Teraz jest 13 lip 2025, o 21:30


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 4 sty 2018, o 03:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 mar 2014
Posty: 85
Lokalizacja: Greystones-Irlandia
Pomógł: 1

Witam
Czy ktoś by mógł w prosty sposób wytłumaczyć jak liczyć czas przerwania i jak wykonać coś po danym odcinku czasu np zapalić LED albo wykonać dana operacje po prostu ze by pokazać jak można wykorzystywać timery
Wiem ze Timer0 i Timer2 są 8bit a Timer1 16bit
wiec tak dajmy na to ze chcemy zrobić coś na Timer2 czyli 8bit (256 kroków)
Mamy kwarc 8Mhz i do wyboru prescaler czyli dzielnik (1,8,64,256,1024)
czyli tak wartość kwarcu dzielimy przez prescaler 8000000/1024=7812.5 i co dalej z tym robimy ?
czy może ktoś to wytłumaczyć łopatologicznie
tutaj dodaje tez kod na atmeg328p
Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Faber Est Quisque Suae Fortunae



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2018, o 08:39 
Offline
Użytkownik

Dołączył(a): 31 lip 2016
Posty: 154
Pomógł: 4

Witam.
Ja proponuję użyć prescalera 256 w wyniku otrzymujemy liczbę całkowitą 31250.
Następnie wpisujemy daną wartość do rejestru Timer2.
Wykorzystujemy instrukcję Load Timer, np. Load Timer2, 250 gdzie 31250 zostanie dodatkowo
podzielona przez 250 poniważ licznik timera musi tę wartość zliczyć.

Jako,że Timer2 jest ośmio bitowy to brakującą wartość 6 program sam wstawi do
rejestru licznika Timer2 aby nastąpiło przepełnienie. Maksymalną wartość jaką możemy wpisać to 255.

czyli: 8000000/256/250 = 125Hz = 8ms
co 8ms nastąpi przerwanie

przykład nr2
Load Timer2, 125
8000000/256/125 = 250Hz = 4ms

Load Timer2, 250 musisz wpisać w programie głównym jak i na początku przerwania.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2018, o 12:11 
Offline
Użytkownik

Dołączył(a): 19 lip 2013
Posty: 774
Pomógł: 40

https://www.elektroda.pl/rtvforum/viewtopic.php?p=9508684#9508684 Tam w załącznikach jest prościutki kalkulator kalkavr. Ściągnij sobie i życie stanie się łatwiejsze.

przyklad dla 16mhz dla 8 przelicz sobie kalkulatorem

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


Mam nadzieje,ze sie nie pomylilem ,bo pisze z pamieci.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2018, o 16:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 mar 2014
Posty: 85
Lokalizacja: Greystones-Irlandia
Pomógł: 1

zorro
Dlaczego jest tu 250
8000000/256/250 = 125Hz = 8ms
i jak policzyles ze 125Hz = 8ms
są jakieś kalkulatory do tego ?


grzeniu73
powiedz mi z kąd się wzięło timer2=6 to 6 z kad?
i z kad jest tu 125
If Dziel(1) = 125 Then

_________________
Faber Est Quisque Suae Fortunae



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2018, o 19:04 
Offline
Użytkownik

Dołączył(a): 16 wrz 2014
Posty: 264
Pomógł: 12

@kulamario, zobacz: MkAvrCalculator -> Narzędzia -> AVR Timer Kalkulator
Możesz tam powstawiać różne dane, popatrzeć na wzory etc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2018, o 19:36 
Offline
Użytkownik

Dołączył(a): 19 lip 2013
Posty: 774
Pomógł: 40

kulamario napisał(a):
zorro
Dlaczego jest tu 250
8000000/256/250 = 125Hz = 8ms
i jak policzyles ze 125Hz = 8ms
są jakieś kalkulatory do tego ?


grzeniu73
powiedz mi z kąd się wzięło timer2=6 to 6 z kad?
i z kad jest tu 125
If Dziel(1) = 125 Then


Ja tam babola dalem wpisalem 8ms, a powinno byc 4ms. Sorki.
4x125= 500ms
gdybys zostawil taktowanie 8mhz to byloby
8ms x 125 czyli sekunda.
Tak jak podalem sciagnij sobie kalkavr i tam w bardzo prosty sposob policzysz sobie.
I prosze Cie "z kad" pisze sie "skad".



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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