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 5 maja 2025, o 11:20


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 43 ]  Przejdź na stronę 1, 2  Następna strona
    Autor Wiadomość
    PostNapisane: 10 sty 2019, o 16:53 
    Offline
    Użytkownik

    Dołączył(a): 17 gru 2018
    Posty: 29
    Pomógł: 0

    Czołem,

    nie wiem czy tutaj powinienem to zamieścić, bo dotyczy samego programu niż problemu z pisaniem kodu.
    Podczas programowania rozjechały mi się okna, które później udało mi się przywrócić na swoje miejsca. Jednak stało się coś z main.c

    Mianowicie jest przekreślony plik main.c (załączone zdjęcie), co ukazuje brak podpiętych funkcji pod program główny.

    Czy ktoś już miał taki problem i mógłby podpowiedzieć jak to naprawić? Zakładam, że to drobnostka.

    Z góry dziękuję za wszelkie pomoce :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 sty 2019, o 18:16 
    Offline
    Użytkownik

    Dołączył(a): 23 lut 2015
    Posty: 69
    Pomógł: 1

    nie widzę zdjęcia ale wydaje mi się ze wyłączyłeś plik z projektu. żeby go z powrotem włączyć
    na pliku" main.c " prawy przycisk myszy
    wybierz " Resource Configurations " następnie " Exclude from build "
    jeśli na " Relase " jest ptaszek odznacz go przyciśnij " OK "


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 sty 2019, o 18:48 
    Offline
    Użytkownik

    Dołączył(a): 17 gru 2018
    Posty: 29
    Pomógł: 0

    Działa, wielkie dzięki !

    Pojawił się kolejny problem, w folderze Release brakuje pliku .hex.

    Nie wiem czemu ale te zdjęcia nie chcą się załączać, pomimo informacji że je załadowało.

    Ogólnie chodzi o to,że jak chcę wgrać program do płytki atb. 1.05 to wyrzuca mi błąd " The file [${workspace_loc:/000_CENTRALA}/Release/000_CENTRALA.hex] for the Flash memory does not exist or is not readable. Maybe the project needs to be build first."

    Gdzie używałem jej opcji build i bez skutku.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 sty 2019, o 20:42 
    Offline
    Użytkownik

    Dołączył(a): 23 lut 2015
    Posty: 69
    Pomógł: 1

    A próbowałeś " Clean-a" ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 sty 2019, o 20:44 
    Offline
    Moderator
    Avatar użytkownika

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

    Gammadion napisał(a):
    Mianowicie jest przekreślony plik main.c (załączone zdjęcie)

    Panie kochany, załącz że to zdjęcie

    a instrukcję "jak?" masz na forum - tutaj: topic44.html


    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: 11 sty 2019, o 09:23 
    Offline
    Użytkownik

    Dołączył(a): 17 gru 2018
    Posty: 29
    Pomógł: 0

    Błąd mam za każdym razem, gdy chcę wgrać program do zestawu uruchomieniowego.
    Próbowałem clean'a, bez skutku.

    Zdjęcia próbowałem wrzucić wcześniej takim samym sposobem, jak w instrukcji zalinkowanej przez Pana Mirka. Niestety nie chcą się przesłać, ponieważ wyskakuje komunikat na czerwono, że "Nowy użytkownik nie może zamieszczać linków w postach!"



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 sty 2019, o 12:25 
    Offline
    Użytkownik

    Dołączył(a): 23 lut 2015
    Posty: 69
    Pomógł: 1

    Pokaż może kod, bo podejrzewam że
    tam jest jakiś błąd.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 sty 2019, o 16:44 
    Offline
    Moderator
    Avatar użytkownika

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

    Gammadion napisał(a):
    Zdjęcia próbowałem wrzucić wcześniej takim samym sposobem, jak w instrukcji zalinkowanej przez Pana Mirka. Niestety nie chcą się przesłać, ponieważ wyskakuje komunikat na czerwono, że "Nowy użytkownik nie może zamieszczać linków w postach!"

    Ok przepraszam, pracujemy już nad tym, żeby obrazki można było wstawiać - sorki za błąd

    ------------------------ [ Dodano po: 1 minucie ]

    ale też druga sprawa - napisz na forum ze 20 postów, zadaj pytania , może wypowiedz się w jakichś wątkach żeby było ich ze 20 to będzie już można od razu bez problemu obrazki wstawiać

    _________________
    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: 12 sty 2019, o 18:42 
    Offline
    Użytkownik

    Dołączył(a): 17 gru 2018
    Posty: 29
    Pomógł: 0

    Dziękuję, jak coś informuje, że jeszcze nie działa mi załączanie linków z wgranych zdjęć. Wrzucam wszystkie spakowane kody (program jeszcze nieukończony, brakuje mi funkcji, które będą wywoływane callbackami w pętli głównej), ale faktycznie po kompilacji podkreśla mi na żółto niektóre fragmenty, natomiast po ponownej już to znika. Do końca nie wiem z czym to jest związane...

    Co do drugiej sprawy, Panie Mirku raczej jestem jeszcze za cienki bolek żeby się wypowiadać na jakieś tematy :) Ale mimo wszystko postaram się więcej udzielać jeśli będą takie, w których uda mi się pomóc. Pytania również będę zadawał, bo muszę dokończyć właśnie załączony kod i mogę napotkać jeszcze różne problemy.



    Ostatnio edytowano 12 sty 2019, o 21:59 przez Gammadion, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 sty 2019, o 21:14 
    Offline
    Użytkownik

    Dołączył(a): 23 lut 2015
    Posty: 69
    Pomógł: 1

    W tych zip-ach jest ten kod? Jak tak to użyj funkcji do wklejenia kodów.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 sty 2019, o 21:20 
    Offline
    Moderator zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 18 lip 2012
    Posty: 3228
    Lokalizacja: Kraków - obok FAB5 ATMEL'a
    Pomógł: 91

    Cytuj:
    Zdjęcia próbowałem wrzucić wcześniej takim samym sposobem, jak w instrukcji zalinkowanej przez Pana Mirka. Niestety nie chcą się przesłać, ponieważ wyskakuje komunikat na czerwono, że "Nowy użytkownik nie może zamieszczać linków w postach!"


    Albo daj gdziekolwiek i na PW podaj mi link a umieszczę.

    _________________
    http://www.jaglarz.info



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 sty 2019, o 21:36 
    Offline
    Użytkownik

    Dołączył(a): 17 gru 2018
    Posty: 29
    Pomógł: 0

    Biblioteki LCD, czujników DS18B20 i IR są od Pana Mirka,


    Wrzucę tutaj kod od menu:

    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.



    oraz menu.h

    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.


    Obrazek
    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 sty 2019, o 12:03 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 31 mar 2015
    Posty: 310
    Pomógł: 18

    Problem z utworzeniem pliku *.hex wynika z błędów.
    Znalazłem takie:
    Obrazek
    Istnieją jeszcze inne żółte plamy(podpowiedzi w eclipse).



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 sty 2019, o 09:29 
    Offline
    Użytkownik

    Dołączył(a): 17 gru 2018
    Posty: 29
    Pomógł: 0

    Witam,

    przepraszam, że nie odpowiadałem, ale byłem za granicą i nie miałem zbytnio dostępu i czasu do programu. Ogólnie po drobnych poprawkach i wyrzuceniu jednego pliku, program zgłasza już mniej błędów, a właściwie do 3 podkreśleń w pliku menu.c - buf_str i menu_refresh.

    ObrazekObrazek

    Załączam spakowane dwa pliki menu.c, menu.h i main.c (niedokończony) dodatkowo wykorzystuję pliki Pana Mirka do LCD.

    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.


    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.


    Załączniki:

    Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 sty 2019, o 12:41 
    Offline
    Użytkownik

    Dołączył(a): 17 gru 2018
    Posty: 29
    Pomógł: 0

    Odnosząc się jeszcze do tego problemu, to błąd lcd_locate zniknął poprzez skopiowanie include'ów z lcd.c do lcd.h

    Natomiast ostrzeżenie buf_str wynikający z tego, że *name jest zdefiniowane jako const char (bo raczej musi być), to buf_str nie chce mi tego zaakceptować jako stałej. Nie wiem co z tym zrobić.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 sty 2019, o 15:55 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sty 2016
    Posty: 1168
    Lokalizacja: Kraków
    Pomógł: 93

    Zmień deklarację funkcji buf_str ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 sty 2019, o 09:25 
    Offline
    Użytkownik

    Dołączył(a): 17 gru 2018
    Posty: 29
    Pomógł: 0

    Zmieniałem na różne sposoby, niestety bez skutku. Co jeszcze zrobiłem - skopiowałem void buf_str(char * text); i wstawiłem niżej ze średnikiem na końcu. Efektem tego były komunikaty przedstawione poniżej :
    Obrazek

    Mimo to plik hex. nie został wygenerowany, w folderze Release go nie ma, a kompilator ignoruje ostrzeżenia.
    Jest tam też nawiązanie do pliku .elf, aczkolwiek jak sprawdzałem go to nie jest pusty.

    Czy ktoś miał taki przypadek? Bardzo proszę o pomoc.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 sty 2019, o 09:53 
    Offline
    Użytkownik

    Dołączył(a): 09 lut 2017
    Posty: 75
    Lokalizacja: 51°03′22″N 15°45′48″E
    Pomógł: 18

    Tak próbowałeś?:

    void buf_str(const char *name)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 sty 2019, o 11:42 
    Offline
    Użytkownik

    Dołączył(a): 17 gru 2018
    Posty: 29
    Pomógł: 0

    Nie przepuszcza "const". Podkreśla na czerwono error: conflicting types for 'buf_str'



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 sty 2019, o 11:54 
    Offline
    Użytkownik

    Dołączył(a): 09 lut 2017
    Posty: 75
    Lokalizacja: 51°03′22″N 15°45′48″E
    Pomógł: 18

    W menu.c i menu.h zmieniłeś? Tzn. deklarację i definicję?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 sty 2019, o 11:55 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sty 2016
    Posty: 1168
    Lokalizacja: Kraków
    Pomógł: 93

    Musisz poprawić i deklarację i definicję. Najłatwiej: wyszukaj void buf_str(char *name) (bo chyba tak jest ta funkcja deklarowana) i zamień na void buf_str(const char *name). Koniecznie we wszystkich miejscach. Bo wygląda na to, że zmieniłeś w jednym miejscu i eclipse woła, że masz różne funkcje buf_str

    Edit: Kolega mnie ubiegł, ale zamieszczę, może się przyda



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 sty 2019, o 13:04 
    Offline
    Użytkownik

    Dołączył(a): 17 gru 2018
    Posty: 29
    Pomógł: 0

    buf_str mam wrzucone w menu.h następująco :

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


    następnie w menu.c mam w raz zadeklarowaną i wywołaną w menu_refresh, jak poniżej :

    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.


    Obawiam się, że problem może tkwić w samym eclipsie, ponieważ teraz po kompilacji mam jakiś nowy błąd, nie generuje już nawet pliku.elf. Robiłem Builda, nie pomaga. Aczkolwiek jeśli kompiluje przykładowy program od Pana Mirka, to normalnie działa.
    Wrzucam jeszcze screena z ostatniego komunikatu w zakładce Console:
    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 sty 2019, o 13:25 
    Offline
    Moderator
    Avatar użytkownika

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

    Gammadion napisał(a):
    void buf_str(const char *name)
    {
            while(*name)
                    buf_char(*name++);
    }


    Panie kochany no zajrzyj proszę do Bluebooka, czy greenbooka do pierwszej lepszej biblioteki wysyłającej string z pamięci FLASH (czy to biblioteka do UART, czy do LCD itp) ;) no przecież masz tam jak byk jak to się robi - bo ta funkcja będzie zwracać śmieci

    _________________
    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: 29 sty 2019, o 13:34 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sty 2016
    Posty: 1168
    Lokalizacja: Kraków
    Pomógł: 93

    Teraz nie widzi funkcji menu_refresh w pliku menu.c. Dziwne... spróbuj zrobić Clean projektu przed kompilacją.
    Widzę, że w funkcji buf_str wywołujesz funkcję buf_char. W niej też zmieniłeś parametry?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 sty 2019, o 14:00 
    Offline
    Użytkownik

    Dołączył(a): 17 gru 2018
    Posty: 29
    Pomógł: 0

    Sprawdzę dzisiaj w książce jak będę w domu, może rzeczywiście robię coś źle. Clean nie pomaga, wyrzuca takie same błędy.
    Co do buf_char, nic nie zmieniałem i napisany jest następująco:
    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: 29 sty 2019, o 21:25 
    Offline
    Użytkownik

    Dołączył(a): 17 gru 2018
    Posty: 29
    Pomógł: 0

    Przejrzałem kody w greenbooku na 365 i 366 stronie. Ogólnie miałem stringa wysyłać z pamięci RAM, przerobiłem na FLASH i wyrzuca mi kolejne błędy. Zdefiniowałem active_buf i lcd_buf w menu.h. Jeszcze jedna uwaga - w książce jest kod void buf_str_P(char*s), natomiast w kodzie źródłowym, który wrzuciłem do Eclipsa jest void buf_str_P(const char*s).
    Przeróbki i błędy wyglądają następująco :

    ObrazekObrazekObrazek
    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 sty 2019, o 21:48 
    Offline
    Moderator
    Avatar użytkownika

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

    eee bo mieszasz pojęcia - co ty bierzesz za jakąś funkcję lcd_buf() - nie dość, że masz wyraźny komunikat że zła ilość argumentów to mieszasz między książkami GB i BB nie patrząc nawet do czego są dane funkcje

    Mówiłem ci zajrzyj do BB do np biblioteki LCD i tam zobacz

    _________________
    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: 30 sty 2019, o 09:40 
    Offline
    Użytkownik

    Dołączył(a): 17 gru 2018
    Posty: 29
    Pomógł: 0

    Panie Mirku, oczywiście zaglądałem do BB nawet przed GB (przepraszam za wcześniejsze niedomówienie :) ). Jest tam wszystko jasno rozpisane. Ale po moich wypocinach nie osiągnąłem celu zamierzonego. Nie chcę już tutaj wrzucać różnych przypadków, tak więc napiszę krótko jak rozwiązałem problem z kompilacją - po prostu wrzuciłem menu_refresh (który był na samym dole menu.c) na samą górę pod linijkami :

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


    Problem zniknął, wygenerował się plik.hex, niezależnie od tego, czy wrzucę swoją funkcję pierwotną, którą miałem, czy podpowiedzi kolegów lub kody z książki. Niestety nie mam przy sobie płytki, ale jak wrócę do domu to napiszę, czy wszystko działa jak należy ;)
    Co do funkcji lcd_buf(), została ona stworzona na podobieństwo Pana funkcji. Robię dość złożony projekt, do którego dojdą funkcje wykonawcze i zapewne jeszcze nie raz utknę i opiszę niejeden problem.
    W każdym razie dziękuję wszystkim za pomoc !



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 sty 2019, o 11:29 
    Offline
    Użytkownik

    Dołączył(a): 09 lut 2017
    Posty: 75
    Lokalizacja: 51°03′22″N 15°45′48″E
    Pomógł: 18

    Kolego, znalazłem gdzie miałeś babola. Nie zamknąłeś klamrą funkcji void menu_enter(void) w main.c. Funkcja void menu_refresh(void) była poniżej i kompilator traktował ją jako wewnętrzną, a to się kłóciło z deklaracją w main.h. Po usunięciu klamry na końcu pliku wszystko się kompiluje poprawnie. Przenosząc funkcję na górę przypadkowo pewnie to naprawiłeś.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 sty 2019, o 12:09 
    Offline
    Użytkownik

    Dołączył(a): 17 gru 2018
    Posty: 29
    Pomógł: 0

    Pod menu_enter(void) jeszcze było menu_cancel(void), ale faktycznie to było to...
    A ja z tym walczyłem tyle czasu..
    Dziękuję za wyjaśnienie :)



    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: 43 ]  Przejdź na stronę 1, 2  Następna strona

    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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO