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



Teraz jest 30 sty 2025, o 19:01


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 35 ]  Przejdź na stronę Poprzednia strona  1, 2
Autor Wiadomość
PostNapisane: 14 gru 2014, o 22:42 
Offline
Użytkownik

Dołączył(a): 13 maja 2014
Posty: 25
Pomógł: 0

Czytałem ale już jakiś czas temu a obecnie nie mam książki przy sobie żeby odświeżyć pamięć :)
A co z faktem, że w kodzie wtedy timer nigdzie nie jest zatrzymywany? Nie będzie on działał cały czas?

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 gru 2014, o 22:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 sty 2014
Posty: 178
Pomógł: 24

jaguar963 napisał(a):
A co z faktem, że w kodzie wtedy timer nigdzie nie jest zatrzymywany? Nie będzie on działał cały czas?


o co pytasz ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 gru 2014, o 10:10 
Offline
Użytkownik

Dołączył(a): 13 maja 2014
Posty: 25
Pomógł: 0

Na końcu kodu przerwania od detektora zera uruchamiamy timer, który pracuje w trybie CTC. Będzie on cały czas odliczał od 0 do zadanej wartości w rejestrze OCR2A a po doliczeniu do niej generował przerwanie i znowu liczył od zera. W jego przerwaniu zmienna kroki jest cały czas dekrementowana, więc po osiągnięciu wartości równej zero, "przekręci" się na 255 i dalej będzie zmniejszana. Jeśli nie ma sygnału z detektora zera, timer będzie cały czas uruchomiony, a więc wyjście będzie cały czas aktywne. Dobrze myślę? Bo nie wiem jak żarówka miałaby być wtedy wyłączona.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 gru 2014, o 12:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 sty 2014
Posty: 178
Pomógł: 24

ale pod warunkiem, że przerwanie zewnętrzne odłączysz w trakcie działania układu i zmienna ika1 nie jest zerem. Żarówka się nie wyłączy ponieważ nie wykona się fragment kodu wyłączający stan wysoki na pinie podłączonym do bramki optotriaka(który to fragment znajduje sie właśnie w obsł. przerwania zewnętrznego.
Jednakże na początku zmienna ika1 wynosi 0 i ładowana jest wartością zmiennej kanal 1 w obsłudze przerwania zewnętrznego. Więc jeżeli ono nie nastąpi ani razu (odłączona szpilka od początku trwania programu)to nie spełni się warunek odpowiedzialny za zezwolenie włączenia żarówki(ten z przerwania CTC).
Nie sprawdzałem tego praktycznie ponieważ nie chce mi się demontować lampy :)(mogę się mylić) ale po analizie kodu tak mi się to w głowie skompilowało :)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 gru 2014, o 13:35 
Offline
Użytkownik

Dołączył(a): 13 maja 2014
Posty: 25
Pomógł: 0

Dzięki za wyjaśnienie :)



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: 35 ]  Przejdź na stronę Poprzednia strona  1, 2

Strefa czasowa: UTC + 1


Kto przegląda forum

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