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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 24 maja 2025, o 03:17


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 49 ]  Przejdź na stronę Poprzednia strona  1, 2
    Autor Wiadomość
     Tytuł: Re: Menu na LCD
    PostNapisane: 29 paź 2013, o 14:09 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 lut 2013
    Posty: 600
    Pomógł: 47

    A u mnie wywala taki błąd:

    Kod:
    14:01:39 **** Build of configuration Release for project menu_przyklad ****
    make all
    Building file: ../menu/menu.c
    Invoking: AVR Compiler
    avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega16 -DF_CPU=16000000UL -MMD -MP -MF"menu/menu.d" -MT"menu/menu.d" -c -o "menu/menu.o" "../menu/menu.c"
    ../menu/menu.c:13:7: error: variable 'tmenu1' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
    ../menu/menu.c:14:7: error: variable 'tmenu2' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
    ../menu/menu.c:15:7: error: variable 'tmenu3' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
    ../menu/menu.c:16:7: error: variable 'tsub11' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
    ../menu/menu.c:17:7: error: variable 'tsub12' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
    ../menu/menu.c:18:7: error: variable 'tmenu21' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
    make: *** [menu/menu.o] Błąd 1

    _________________
    https://www.instagram.com/myfirstquadcopter/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 29 paź 2013, o 15:34 
    Offline
    Moderator
    Avatar użytkownika

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

    a dokładniej tutaj:

    http://mirekk36.blogspot.com/2012/08/ec ... zytaj.html

    _________________
    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  
     Tytuł: Re: Menu na LCD
    PostNapisane: 11 sty 2015, o 19:00 
    Offline
    Użytkownik

    Dołączył(a): 05 lut 2014
    Posty: 252
    Lokalizacja: obok Częstochowy
    Pomógł: 14

    Witam. Próbowałem samodzielnie te "consty" powstawiać, żeby do atmelowskiego toolchaina dostosować ale wymiękłem.
    Może ktoś wkleić jak to ma być ?

    EDIT: No i zrobione. W Keplerze jakieś dziwne błędy pokazywało, a na Lunie ładnie się skompilowało.

    EDIT: Jednak nie to było powodem moich utrapień. W bibliotece do obsługi pilota miałem
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    i to się pożarło ze zmiennymi w pliku menu.h :P



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 3 mar 2015, o 07:49 
    Offline
    Nowy

    Dołączył(a): 28 sty 2015
    Posty: 13
    Pomógł: 0

    Witam. Mam na imię Kamil jestem początkujący jeśli chodzi i programowanie mikrokontrolerów AVR. Zainteresowałem się menu pana lukasz89 i chciałbym sprawdzić jak działa na swoim zestawie.

    Mam problem z plikiem menu.c w folderze menu. Dlaczego wywala mi takie błędy? Pliki lcd44780.h i klaw.h istnieją więc w czym problem?

    Jeśli temat był już poruszany to wybaczcie dopiero się uczę i nie znam jeszcze wszystkich pojęć związanych z językiem C. Proszę o radę.

    Poniżej zamieszczam zdjęcie ze screenem.


    Obrazek

    _________________
    Kod:
    #define Kamil Maćkowski



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 3 mar 2015, o 08:07 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 10 sty 2014
    Posty: 447
    Lokalizacja: DKL
    Pomógł: 53

    @kamil12239, błędnie linkujesz ścieżki do bibliotek, prawidłowo będzie:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Trzeba użyć cofnięcia o jeden katalog wstecz w ścieżce (../) ponieważ menu.c znajduje się w katalogu menu w twoim projekcie.

    _________________
    Migracja z punktu B do punktu C
    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 5 mar 2015, o 15:14 
    Offline
    Nowy

    Dołączył(a): 28 sty 2015
    Posty: 13
    Pomógł: 0

    Pomogło ale mam inne błędy z którymi też nie moge sobie poradzić.

    Obrazek

    _________________
    Kod:
    #define Kamil Maćkowski



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 5 mar 2015, o 15:40 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 10 sty 2014
    Posty: 447
    Lokalizacja: DKL
    Pomógł: 53

    kamil12239 napisał(a):
    ale mam inne błędy z którymi też nie moge sobie poradzić.
    A co masz w pliku menu.h?
    Bo błędy wykazują, że brak definicji LCD_X, LCD_H.

    _________________
    Migracja z punktu B do punktu C
    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 11 mar 2015, o 08:01 
    Offline
    Nowy

    Dołączył(a): 28 sty 2015
    Posty: 13
    Pomógł: 0

    Źle wstawiony listing - Różowo - Zielony J.

    Taki jest właśnie kod lcd.h nie bardzo wiem gdzie i w jaki sposób zadefiniować czy zadeklarować te funkcje LCD_X, LCD_Y. Mógłby kolega być jeszcze tak wyrozumiały i mi w tym pomóc? Wybaczcie moją niewiedzę.

    _________________
    Kod:
    #define Kamil Maćkowski



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 11 mar 2015, o 09:12 
    Offline
    Nowy

    Dołączył(a): 28 sty 2015
    Posty: 13
    Pomógł: 0

    Pomogło program się skompilował. Dziękuje panu bardzo za pomoc. Żeby jeszcze ruszył na zestawie :D


    Ruszył w zestawie wszystko ładnie pięknie wyświetla. Mam jeszcze jedno pytanie dotyczące poruszania się po tym menu. Wszystko zawarte jest w pliku klaw_enco.c i .h . Jak zmodyfikować program żeby można było się poruszać za pomocą zwykłych przycisków?

    _________________
    Kod:
    #define Kamil Maćkowski



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 16 maja 2015, o 09:00 
    Offline
    Użytkownik

    Dołączył(a): 05 lut 2014
    Posty: 252
    Lokalizacja: obok Częstochowy
    Pomógł: 14

    W ramach uwag do programu.
    Przy pierwszym wejściu w menu po resecie procka ekran główny się czyści ładnie i wskakują pozycje menu. Natomiast przy kolejnych wejściach menu nakłada się na ekran główny. W logice nic nie zmieniałem.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 16 maja 2015, o 11:01 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 kwi 2015
    Posty: 450
    Pomógł: 3

    Witam i dziękuję za menu.
    Gdzie można znaleźć bibliotekę do obsługi enkodera (klaw.c, klaw.h)
    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 17 maja 2015, o 07:15 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 kwi 2015
    Posty: 450
    Pomógł: 3

    Znalazłem na Dropbox. Dziękuję :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 25 cze 2015, o 20:41 
    Offline
    Użytkownik

    Dołączył(a): 07 maja 2014
    Posty: 31
    Pomógł: 0

    Witam
    W jaki sposób w tym menu można dokonać ustawień parametru np temperatury i histerezy(np w submenu 11 i submenu 12). Chciałbym za pomocą dwóch tych samych przycisków co do zmiany pozycji menu dokonac zmiany wartości parametrów i wyswietlać ją na bieżąco w menu ustawień.Może ktoś z kolegów przerabial problem i wskaże algorytm postępowania.
    Dziękuje i pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 25 cze 2015, o 20:52 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 sie 2013
    Posty: 3797
    Lokalizacja: Grudziądz
    Pomógł: 143

    To nie jest problem a podejście do tematu.

    Ja bym sprawdził w jakim menu / submenu jesteś

    jeżeli w tym odpowiedzialnym za ustawienie histerezy to wtedy:

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


    inaczej tego nie zrobisz chyba że któryś z kolegów ma inny pomysł.

    _________________
    Usługi druku przestrzennego - www.drumik.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 25 cze 2015, o 21:16 
    Offline
    Użytkownik

    Dołączył(a): 07 maja 2014
    Posty: 31
    Pomógł: 0

    Witam
    Do obsługi przycisków używam mirkowego superdebounce
    Kod:
    SuperDebounce(&up, &PIND, K_up, 10, 100, next, 0);
    SuperDebounce(&down, &PIND, K_down, 10, 100, prev,0);


    Moge przechodzić sobie po menu i chciałbym aby te przyciski w podmenu
    Kod:
    if(menu_flag==&submenu11){ }

    zmieniły swoje działanie ze zmiany poziomu menu na zmiane wartości parametru np.temperatury a w submenu 21 te same przyciski zmienią wartość parametru histerezy.

    Może teraz rozjaśniłem o co mi chodzi



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 25 cze 2015, o 21:24 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 sie 2013
    Posty: 3797
    Lokalizacja: Grudziądz
    Pomógł: 143

    usiex napisał(a):
    Witam
    Do obsługi przycisków używam mirkowego superdebounce
    Kod:
    SuperDebounce(&up, &PIND, K_up, 10, 100, next, 0);
    SuperDebounce(&down, &PIND, K_down, 10, 100, prev,0);


    Moge przechodzić sobie po menu i chciałbym aby te przyciski w podmenu
    Kod:
    if(menu_flag==&submenu11){ }

    zmieniły swoje działanie ze zmiany poziomu menu na zmiane wartości parametru np.temperatury a w submenu 21 te same przyciski zmienią wartość parametru histerezy.

    Może teraz rozjaśniłem o co mi chodzi


    Dokadnie to samo miałem na myśli :)

    _________________
    Usługi druku przestrzennego - www.drumik.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 26 cze 2015, o 13:42 
    Offline
    Użytkownik

    Dołączył(a): 05 lut 2014
    Posty: 252
    Lokalizacja: obok Częstochowy
    Pomógł: 14

    Menu jest tak skonstruowane, że jak się wejdzie w funkcję wywołaną z menu to przyciski nawigacji już nie działają i można je użyć do własnych celów. Tylko może ja coś tam zmieniłem.
    Moja funkcja do nawigacji pilotem wygląda tak:

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    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  
     Tytuł: Re: Menu na LCD
    PostNapisane: 26 cze 2015, o 20:32 
    Offline
    Użytkownik

    Dołączył(a): 07 maja 2014
    Posty: 31
    Pomógł: 0

    Cytuj:
    Menu jest tak skonstruowane, że jak się wejdzie w funkcję wywołaną z menu to przyciski nawigacji już nie działają i można je użyć do własnych celów. Tylko może ja coś tam zmieniłem.

    Chyba jednak musiałeś coś zmienić bo przyciski nawigacyjne działają nadal,czy może użyłeś jakiejś dodatkowej flagi aby je zablokować.Będe wdzięczny za pomoc.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Menu na LCD
    PostNapisane: 26 cze 2015, o 20:45 
    Offline
    Użytkownik

    Dołączył(a): 05 lut 2014
    Posty: 252
    Lokalizacja: obok Częstochowy
    Pomógł: 14

    No wyżej masz przykład. To jest od nawigacji menu - if (menu_flag != pozycja) { i po tym warunku jest nawigacja w menu}. A funkcje, czy też instrukcje w pętli głównej wywołane z menu poprzedź warunkiem if (menu_flag == pozycja).

    Żeby lepiej zobrazować fragment funkcji wywołanej z menu (wsio w jednej funkcji wywoływanej naciśnięciem klawisza)

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    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  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 49 ]  Przejdź na stronę Poprzednia strona  1, 2

    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