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



Teraz jest 17 kwi 2026, o 16:35


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 17 maja 2016, o 19:59 
Offline
Nowy

Dołączył(a): 29 kwi 2016
Posty: 14
Pomógł: 0

Witam!

Projektuję zegar na uczelnię i mam problem z nastawą czasu a później uruchomieniem zegara.
Zegar ma działać tak, że najpierw ustawiam godzinę klawiszami ("up" inkrementuje dany segment zegara, klawisz "ok" przesuwa segment zegara) a później uruchamiam go klawiszem "ustaw"
Chodzi o to, że gdy zmienną start wprowadzam w pętlę while funkcji głównej programu w postaci:
Kod:
if (!start) wprowadz();

czas bez problemu mogę ustawić za pomocą klawiszy, natomiast gdy nacisnę przycisk "ustaw", zegar nie startuje, a w zasadzie to dostaje zwiechy i po "wariackim" klikaniu w klawisze "up" i "ok" wystartuje z opóźnieniem. Natomiast gdy w pętli while funkcji głównej programu nie wpiszę tego warunku, to zegar startuje po naciśnięciu przycisku "ustaw" od zera. Znajdzie się ktoś kto podpowie jak prawidłowo powinien wyglądać kod?

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: 17 maja 2016, o 21:19 
Offline
Użytkownik
Avatar użytkownika

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

Może skomentuj w funkcji "wprowadz", czego się spodziewasz od kodu w linijkach, to rozjaśni trochę sytuację.
Łatwiej będzie coś podpowiedzieć.
Jak na razie, to ja bym to napisał zupełnie inaczej, jak zapewne większość kolegów.
No ale nie o to chodzi żeby napisać gotowca. :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 maja 2016, o 08:20 
Offline
Użytkownik

Dołączył(a): 04 cze 2013
Posty: 517
Pomógł: 26

Kolego dziwisz się że dzieją się różne rzeczy w kodzie. Jak w funkcji wprowadź masz delay-ów co nie miara. Korzystasz już z timera to czemu nie wprowadzisz do kodu flagi przerwania od timera. W tedy funkcja "wprowadź" nie będzie ci wstrzymywać całego programu bo nie będziesz używał już delay-ów

Każde wejście w funkcję "wprowadź" wstrzymuje twój program na 800ms

_________________
Przewodnik|Sterownik akwariowy



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

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