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



Teraz jest 8 lis 2024, o 23:30


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 17 sie 2015, o 11:09 
Offline
Użytkownik

Dołączył(a): 15 lip 2012
Posty: 64
Pomógł: 0

Witam.
Próbuję oprogramować sterownik LEDów i zatrzymałem się na ściemnianiu i rozjaśnianiu. W menu mam ustawiany czas świtu/zachody, czasy ich trwania z krokiem 10min (10-120min) i maksymalną siłę świecenia.

Sercem zegarowym jest Mirkowy timer programowy z taktem 10ms.

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


Niestety błędnie obliczam czas kolejnych kroków dla timera:

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


Dla zakładanych: 10min czasu świtu i maksymalnego rozjaśnienia 255 obliczenia kalkulatora prezentują się: 60000 (czas * 60-sek * 100-taktów na sek) / 255 co daje w zaokrągleniu 235, czyli zmiana PWM co około 2.3sek. Niestety procesor wylicza -21. A więc takty się nie wykonują.
Próbowałem użyć zmiennej long niestety wynik jest ten sam -21.

Gdzie przyjąłem złe założenia lub jak inaczej to liczyć?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2015, o 12:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Pokaz kod bo kula mi sie zbila.

Namazane ze smarta.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2015, o 12:42 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 252
Lokalizacja: Lublin
Pomógł: 23

Stawiam na: http://atnel.pl/domyslna-promocja-do-typu-int.html :)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2015, o 13:14 
Offline
Użytkownik

Dołączył(a): 15 lip 2012
Posty: 64
Pomógł: 0

Zaraz poczytam :)

Ale zastanawiam się też czy coś z prockiem jest nie tak...


Nowy przykład utorzyłem, jedynie obsługa LCD. Plus jedna zmienna X:

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


daje w wyniku 0.00...

Majster jak tylko skończę to na pewno pokaże.
Nie jest to szczyt finezji i wyrachowania. Projekt robiony na szybko dla małego 19l akwarium :)
Miałem na wakacje do opieki rybkę, a że po wyrośniętym żółwiu zostało małe akwarium to sobie pomyślałem a niech sobie coś tam pływa :)
Zegar na gotowym module DS3231, driver diod na DW8501 (trzy kanały BIAŁY NIEBIESKI i CZERWONY).

Ustawianie poranka, wieczoru łącznie z czasem ich trwania. Pomiar temperatur: Wody, radiatora z ledami i radiatora sterowników DW.
Jak poradzę sobie z tymi PWMami to do końca tygodnia powinienem skończyć już całość.

------------------------ [ Dodano po: 51 minutach ]

jerrylu napisał(a):


Dzięki wielkie, to było to :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2015, o 14:30 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 252
Lokalizacja: Lublin
Pomógł: 23

Cieszę się, że pomogło.
Pozdrówka.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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