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



Teraz jest 11 sty 2025, o 08:11


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 
Autor Wiadomość
 Tytuł: Menu w C
PostNapisane: 17 mar 2014, o 12:36 
Offline
Nowy

Dołączył(a): 27 gru 2011
Posty: 1
Pomógł: 0

Witam,
pisze program do obsługi lampki RGB na atmega8 taktowany 16MHz. Lampka sterowana jest z pilota(RC5).
Do obsługi RC5 użyłem gotowej biblioteki znalezionej na jakiejś niemieckiej stronie. Nie mogłem znaleźć źródła więc zamieszczam kod. Chyba tylko w jednym miejscu zmieniłem zmienną na volatile

https://www.dropbox.com/s/al9rkwkoqoi0bsg/rc5.c
https://www.dropbox.com/s/z3a2nfnovcxt0pq/rc5.h

Diody podłączone są bezpośrednio pod uC i sterowane przy pomocy programowego PWM. Którego kod wygląda tak:

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

Chciałbym napisać program tak żeby mieć menu:
- Ustawanie ręczne kolorów
- wybór jednej z 3 diod
-wybór jednego z kolorów RGB
- zmiana wartości
- Zapamiętane konfiguracje kolorów:
- cyfry 0-9 wybór zapamiętanych
- Funkcje automatycznej zmiany kolorów:
- zdefiniowane zmiany kolorów [0-9]
- Funkcja sleep
- ustawianie czasu wyłaczenia
Jest to wstępna wersja menu. Nie wiem jak najlepiej napisać to w C. Próbowałem z wykorzystaniem instrukcji switch. Pierwszy poziom menu działał płynnie, ale już przy drugim poziomie trzeba było naciskać klawisz kilka razy, żeby został odczytany.
Następnie przerobiłem kod, w którym pierwszy poziom menu został napisany z wykorzystaniem instrukcji switch, a instrukcje danego poziomu wywoływane są z funkcji, ale ta funkcja też składa się z instrukcji switch.
Tak wygląda główna pętla programu:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

A tak wygląda funkcja ręcznej zmiany koloru:

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

Nie wiem czemu program nie działa do końca jak trzeba. Widziałem przepisy na menu z wykorzystaniem struktur, ale to były menu do wyświetlania. Nie bardzo mam pomysł jakbym mógł zaimplementować to u siebie. Może ma ktoś jakiś pomysł, albo jakąś wskazówkę?
Do testowania używam UARTu przez, który wysyłam komunikaty o poprawnie wykonanych instrukcjach.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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