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



Teraz jest 9 lut 2026, o 07:50


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
 Tytuł: Miodulo problem
PostNapisane: 22 lut 2017, o 16:09 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 25
Pomógł: 0

Witam Was,
Po dłuższym czasie postanowiłem napisać program do sterownika oświetlenia led. Testuje sobie małe funkcje aby później zbudować z nich to co potrzebuję i pojawił się taki mały problem. Przykładowo co 25 cykli przerwania chcę zmienić stan diody używając kodu jak poniżej z wykorzystaniem funkcji % Dioda miga bardzo chaotyczni. Zastanawiam się z czym to ma związek, poradźcie proszę.

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: 22 lut 2017, o 16:21 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

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


Spróbuj tak


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2017, o 17:55 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 25
Pomógł: 0

Śmiga, ale kurza stopa co ta zmienna enable daje? :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2017, o 18:06 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

próbowałeś analizować kod który CI podesłałem? :) W kodzie który pokazałeś problem jest taki, że przerwanie pojawia się powiedzmy co 1 sekundę i w czasie gdy:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

w głównej pętli ten fragment wykonywany jest kilka set razy.... Dlatego dioda dziwnie się zachowuje :)

Dodałem w Twoim kodzie zmienną zezwalającą, zezwolenie ustawiane jest przy każdym wejściu do przerwania. W pętli głównej gdy zezwolenie jest różne od 0 wchodzę do pierwszego warunku i od razu wyłączam zezwolenie na powtórne wejście. Następnie sprawdzane są kolejne dwa warunki i powrót do głównej pętli. przy kolejnym obiegu pętli już nie nastąpi wejście do żadnego warunku bo zezwolenie jest równe 0. Dopiero jak zostanie zgłoszone przerwanie wtedy ponownie wskakujemy do warunku... Rozumiesz czy jeszcze bardziej Ci namieszałem? :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2017, o 18:48 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 25
Pomógł: 0

Pajemajet.
Do wykonania kolejnego przerwania program toglował stan diody, a teraz raz zmieni stan i czeka aż przerwanie pozwoli na kolejne wejście w pętle :)
Dzięki! Tak to jest jak robi się coś odświętnie, ale saport jest elegancki na forum :)
Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lut 2017, o 19:04 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1085
Pomógł: 73

kozaczi napisał(a):
...ale saport jest elegancki na forum :)


Bo to jest najlepsze forum ;)



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 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO