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



Teraz jest 17 kwi 2026, o 03:54


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 21 lip 2016, o 21:48 
Offline
Użytkownik

Dołączył(a): 18 maja 2015
Posty: 79
Pomógł: 0

Cześć

Tak jak w temacie mam pytanie odnośnie timera programowego.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


U góry zamieściłem fragment kodu przerwania od mirka książki

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


czemu tam jest modulo 19 a nie 20?

bo jak dla mnie aby dioda zmieniała swój stan co 20ms to tam powinno być if(!(ms_10_cnt%20)) PORTB^=(1<<PB7);

------------------------ [ Dodano po: 7 minutach ]

Przedstawiam obrazek aby łatwiej było zrozumieć o co mi chodzi
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lip 2016, o 23:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

...a do dwudziestu to kol. liczy od jeden czy od zera?

Pozdr.

edit: błędna diagnoza - noc jest od spania a nie od wypisywania głupot :)
sorry.



Ostatnio edytowano 22 lip 2016, o 08:16 przez kicajek, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lip 2016, o 23:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 wrz 2013
Posty: 74
Lokalizacja: Sierakowice/Gdańsk
Pomógł: 9

Chyba kolega squelch ma rację. Tak żeby szybko sobie to wyjaśnić proponuję przeanalizować co by się działo gdybyśmy chcieli tym sposobem zmienić stan diody co 1 ms. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lip 2016, o 04:53 
Offline
Moderator
Avatar użytkownika

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

squelch napisał(a):
czemu tam jest modulo 19 a nie 20?

Oczywiście, że powinno być %20 dla zliczania co 20ms w tym przykładzie - zwykła literówka.

Przy modulo 20 w warunku IF stan będzie się zmieniał w granicach 0-19

zaś dla modulo 19 stan będzie się zmieniał w granicach 0-18

więc to oczywiste jak słońce

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

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