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



Teraz jest 25 kwi 2024, o 11:42


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 27 mar 2019, o 20:47 
Offline
Użytkownik

Dołączył(a): 21 gru 2018
Posty: 74
Pomógł: 0

Witam.
Mam pytanie dlaczego w takim zapisie nie załacza wyjscia (opis zmiennych :t1gz, itd - ustawiony czas a datetime.hh - odczyt czasu z zegara systemowego). Problem wystepuje jesli nastapi wyłączenie i załączenie zasilania pomiedzy ustawionymi godzinami zal i wyl (gdy czas biegnie normalnie bez przerw zal i wyl się normalnie).
Jak to zapisać inaczej by zawsze zalączalo niezależnie od przerw zasilnia i innych przypadków?
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: 27 mar 2019, o 21:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

hmm,..
nie jestem pewien, ale chyba problem jest w tym że nie łączysz godzin z minutami. tzn. np.
jeżeli godzina 10 min 20. to zamień to w jedną zmienną na wzór coś... 1020..
bo tak możesz mieć godzinę powyżej 10, ale minuty będą poniżej 20. np. godz 10. min 5. minuty nie są większe od ustawionych pomimo że godziny tak. ja bym "zespolił" minuty z godzinami w jedną zmienną ;)
kłaniają się przesunięcia bitowe.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2019, o 22:02 
Offline
Użytkownik

Dołączył(a): 21 gru 2018
Posty: 74
Pomógł: 0

Hmm a chciałem uniknąć przeliczania - bo w takim przypadku muszę utworzyć nowa zmienną i godziny pomnożyć przez 60 i dodac do tego minuty i taka liczbe porównywać z też przeliczonym czasem aktualnym. To troszkę zwiększy program i pewnie zabierze czas z procka choć można to wykonywać przez timer np co kilka sekund .



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2019, o 22:35 
Offline
Użytkownik

Dołączył(a): 22 kwi 2017
Posty: 99
Lokalizacja: Piła
Pomógł: 4

Kaz K napisał(a):
Hmm a chciałem uniknąć przeliczania

Ale przecież to nie Ty będziesz przeliczał tylko procek. Miałem podobny problem kilka miesięcy temu tutaj topic21286.html i naprawdę warto.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 mar 2019, o 20:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Kaz K napisał(a):
i godziny pomnożyć przez 60 i dodac do tego minuty...

?
Daro69 napisał(a):
kłaniają się przesunięcia bitowe.

uint16_t--->'yyyyyyyyxxxxxxxx' np. w miejsce y_ków wpisuj godziny_u8 a w miejsce x_ów minuty_u8.
zagwozdka powstanie dopiero wtedy gy bądziesz chciał zmieścić jeszcze sekundy. :mrgreen:



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 12 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