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



Teraz jest 22 sie 2017, o 10:21


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 19 maja 2017, o 14:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 107
Lokalizacja: Wrocław
Pomógł: 0

Witam serdecznie.
Kod poniżej odmierza czas z mniejszą lub większą dokładnością działając jak zegar.
Sekundy zmieniają się w zakresie 0-59 podobnie jak minuty, natomiast godziny 0-23.

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


Jeśli przyjmę, że chcę, aby przedział wykonujący operację 1 zaczynał się o 22:00 a kończył o 23:00 to nie będzie problemu dla powyższego kodu a operacja_124 będzie się wykonywała
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jeśli przyjmę, że chcę, aby przedział przechodził przez północ czyli np. zaczynał się o 23:30, natomiast kończył się o 0:30 to już ten sam warunek nie będzie spełniony
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Czy ma ktoś pomysł jak rozwiązać problem przejścia przez magiczną północ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2017, o 14:11 
Offline
Tech-support
Avatar użytkownika

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

Tak myślę. Połączyć wyrażenia jednego czasu z drugimi operatorem lub. ||

------------------------ [ Dodano po: 3 minutach ]

Jezeli czas jest większy od ab lub mniejszy od cd.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2017, o 14:35 
Offline
Moderator
Avatar użytkownika

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

Panie Panie, zrób że to co już dawno ludzie wymyślili i nie ma co odkrywać koła na nowo, a ja wspominam o tym w dziesiątkach swoich poradników - tylko warto je ogląda - np o ATNEL-WIFI232-T. Co z tego że ktoś nie ma tego modułu ale ile dodatkowych rzeczy się dowie ;)

trzymaj że czas w jednej zmiennej 16-bitowej np

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


a później porównania

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


itp itd - hulaj dusza


Autor postu otrzymał pochwałę

_________________
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  
PostNapisane: 19 maja 2017, o 14:36 
Offline
Użytkownik

Dołączył(a): 16 sty 2017
Posty: 110
Lokalizacja: Nr GG 31324
Pomógł: 7

Niedawno przy pisaniu zegarka stosując ify zakręciłem się jak słoik.
Napisałem kawałek który zadziałał według innego pomysłu
(pewnie już ktoś to 100 razy wymyślił)
Najpierw gdzieś w przerwaniu timer dodaje sobie co sekudę.
(nie da rady na 16 bitowym liczniku zrobić 24 godzin ale można pokombinować)
Czyli tak w przerwaniu
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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




Może tak pokombinuj
Jest to surowe i jak napisałem nie policzy Ci 24 godzin ale cała idea opiera się na wywaleniu "ifuf"

P/S
Jakby się uprzeć to jeszcze można by skrócić z 4 linijek do 3 ten zegarek.


Autor postu otrzymał pochwałę

_________________
Nie z takimi rzeczami nie dawaliśmy sobie rady.



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

Dołączył(a): 29 lip 2014
Posty: 186
Pomógł: 44

Witam,

Panowie, chyba nie do końca zrozumieliście, z czym kol.matej1410 ma problem. Chodzi o przypadek, gdy zegar ma coś załączyć np. o godzinie 23:00, a wyłączyć o godzinie 01:00. Pomysł Mirka z zamianą do porównań czasu na 1 zmienną fajny, w swoich projektach też tak robię. poniżej wklejam funkcję, która powinna działać, tak jak kol.matej1410 oczekuje (też wymaga podania jej czasów po konwersji jak u Mirka). Nie testowane, ale wydaje mi się, że powinno być ok:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Pozdrawiam, QuadMan.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2017, o 17:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 200
Lokalizacja: Rybnik
Pomógł: 11

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

_________________
Situs != Situs



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2017, o 10:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 paź 2013
Posty: 107
Lokalizacja: Wrocław
Pomógł: 0

Dzięki Panowie, Śmiga ładnie :)



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Yahoo [Bot] i 2 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