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



Teraz jest 28 mar 2024, o 15:50


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 17 paź 2014, o 18:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 lut 2014
Posty: 123
Lokalizacja: Świętokrzyskie
Pomógł: 0

Witam

Próbuję zrobić menu do większego programu i chciałabym wyeliminować "waitms" przy obsłudze przycisków.
Wiem na czym polega "Debounce" ale w tym przypadku nie wykorzystam go:

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


Chodzi mi o to, że chcę aby każde jednorazowe przyciśnięcie F2 powodowało przejście do następnej pozycji "menu".
Bo w tym przypadku jak ja zrobiłem, to przyciśnięcie ciągłe przycisku powoduje szybkie przeskakiwanie pozycji.

Macie jakieś pomysły?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2014, o 19:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 lut 2014
Posty: 123
Lokalizacja: Świętokrzyskie
Pomógł: 0

OK.

Ale załóżmy, że "menu 1" ma służyć do ustawienia godziny w PCF8583, to jak mam przejść do ustawienia godziny jak w głównym emnu zaczytuje się tylko nazwa menu pobrana z procedury "rysuj_menu" ?



Ostatnio edytowano 17 paź 2014, o 21:19 przez michał6201, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2014, o 20:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 lut 2014
Posty: 123
Lokalizacja: Świętokrzyskie
Pomógł: 0

Chętnie się temu przyjrzę, bo to co ja zrobiłem to takie jakieś toporne :D

Zrobiłem coś takiego, działa, ale mi się to nie podoba. Myślę, że można to uprościć i tym samym zmniejszyć wielkość programu .hex

1. W jaki inny sposób mogę zrobić zapis ustawionego czasu żeby nie pisać osobno dla godziny i minuty zapisy w PCF?
2. Jest jakiś prostrzy sposób zmiany godziny i minuty? np. np przy użyciu "incr" i bez tych dodatkowych zmiennych "Dz_str = Str(dz)"

Domyślam się, że ten kod jest mało oszczędny jeśli chodzi o zajęte miejsce w procku
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
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 paź 2014, o 23:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 lut 2014
Posty: 123
Lokalizacja: Świętokrzyskie
Pomógł: 0

Jesteś Mistrzem :)

Niestety Twojego menu nie mogę skompilować i pobawić się na mojej płytce testowej.
Wyskakują jakieś błędy: na linii 6 pliku config_timer.bas

Ja natomiast zrobiłem ustawianie czasu i wyświetlanie na sub'ach i plik się skurczył :)
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Ale chyba to moje menu słabo wyszło?

Kolejny problem, to odczyt daty z PCFa :evil: Znalazłem ten fragment odczytu daty w googlach i coś jest nie tak z tym obliczeniem. A przyznam szczerze, że nie bardzo rozumiem o co chodzi z tą datą. Ustawiam w menu dzisiejszą datę, a tu potem odczytuje dzień 47. Mało tego, to jeszcze cofa czas o kilka minut.
W związku z tym mam prośbę do Ciebie - zerknij na ten fragment kodu odpowiedzialny za obliczanie daty, może coś tam jest skopane. Ja kompletnie nie rozumiem tego.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 paź 2014, o 22:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 lut 2014
Posty: 123
Lokalizacja: Świętokrzyskie
Pomógł: 0

Dziękuję za przejrzyste wytłumaczenie o co w tym chodzi:)
Będę to testował i mam nadzieję, że nadal będę mógł liczyć na Twoje wsparcie podczas mojej nauki Bascoma :)

Co do Twojego kodu, to problem pojawił się w konfiguracji LCD, pokazał błąd i zapisałem: Config Lcd = 16 * 2
Natomiast nie wiem o co chodzi z zapisem: Enable Compare2 : On Compare2 Timer2_isr : Compare2 = 155 'dla 10MHz, bo tu też Bascom pokazuje że jest błąd. Error 117 Unknown interrupt.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 paź 2014, o 23:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 lut 2014
Posty: 123
Lokalizacja: Świętokrzyskie
Pomógł: 0

A wersja mojego Bascoma to 1.11.9.8 :lol:
Widzę, że muszę zainstalować nowszą wersję i nie będzie problemów. Wtedy tą 1.11.9.8 instalowałem ze względu na spolszczenie, żeby było mi łatwiej poznawać podstawy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 paź 2014, o 21:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 gru 2011
Posty: 186
Lokalizacja: Dublin
Pomógł: 8

michał6201 spolszczenie masakra jak najszybciej się tego pozbądź nigdy się nie nauczysz w ten sposób, bariera językowa uniemożliwi Ci sporo zadań.
Zapamiętaj jedno praktycznie wszystkie rejestry biorą swoje nazwy tzn skróty od pełnych nazw w języku angielskim.
To samo z PDF-ami wszytko jest w języku angielskim.
Czasy są takie że język angielski to MUS



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ł: Brak zidentyfikowanych użytkowników i 0 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