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



Teraz jest 20 kwi 2024, o 01:35


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 2 paź 2018, o 21:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2014
Posty: 296
Lokalizacja: Jaskółowo k. Warszawy
Pomógł: 9

Witajcie.
Czy moglibyście mi wytłumaczyć jak działają przerwania z kodu Mirka do lampki Quechua.
Próbuję kod przerobić tak żeby lampka świeciła 5h a nie 2h.
Wiem że są 2 przerwania
Watchdog (odpowiada za zmianę PWM) i to wszystko czego jestem pewien że wiem. Reszta to domysły.
oraz INT0 -Wybudzanie procka ze zmianą programu świecenia. To jeszcze akurat rozumiem bo po prostu wybieram co chce i włączam Watchdog.

Powiedzcie skąd wiadomo co jaki czas będzie wywoływany ISR( WDT_vect ).
Co dokładnie robi taki zapis
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
POZDROWIONKA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2018, o 18:15 
Offline
Użytkownik
Avatar użytkownika

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

Tak na szybko:
Co jaki czas będzie wywoływany watchdog ustawia się w rejestrze WDTCSR bitami WDP0 .. 3, ale tym nie wydłużysz czasu bo w tym projekcie WD działał na maksymalnym czasie możliwym do ustawienia.
Jak chcesz wydłużyć czas to poprostu zamiast reagować i zmieniać PWM co każde wywołanie przerwanie od WD to utwórz zmienną która co każde wywołanie będzie inkrementowana i gdy osiągnie jakaś wartość to ją zeruj i dopiero zmieniaj PWM - Mirek o tym wspominał w poradnikach, tak samo jak tłumaczył co robi fragment przetoczonego kodu...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2018, o 18:29 
Offline
Moderator
Avatar użytkownika

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

PITERK napisał(a):
Próbuję kod przerobić tak żeby lampka świeciła 5h a nie 2h.

Ja się niestety pomyliłem w poradniku bo domyślnie lampka świeci nie 2 godziny a tylko 0,5 godziny ;) sorki

A wydłużać sobie można czas swobodnie DOKŁADNIE na takiej zasadzie jak podał wyżej kolega xentis

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

Strefa czasowa: UTC + 1


Kto przegląda forum

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