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? 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 11 cze 2025, o 09:43


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 36 ]  Przejdź na stronę Poprzednia strona  1, 2
    Autor Wiadomość
    PostNapisane: 20 mar 2012, o 20:23 
    Offline
    Moderator
    Avatar użytkownika

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

    wasu napisał(a):
    Pytam o to gdy wywołuje ją poza ciałem funkcji, a zaraz za definicja pwm, wowczas dostaje wspomniane bledy i nie jest to wina niedolaczonej biblioteki


    Pewnie że nie wina niedołączonej biblioteki, przecież pisałem ci że nawet nie raczyłeś odpowiedzieć na poprzednie, a robisz kolejne i to mega babole. Sorki ale musisz wziąć książkę i poczytać o funkcjach. ..... Albo coś ci się pokiełbasiło totalnie albo w ogóle nie rozumiesz o co tu chodzi..... Tyle że to jest tak wyraźnie napisane w książce że ja już jak mówiłem wymiękam.

    jedyne co ci podpowiem teraz to:

    1. masz na czerwono zaznaczoną bzdurę jaką robisz
    2. poczytaj o funkcjach
    3. poczytaj w końcu co to jest DEFINICJA i DEKLARACJA a szczególnie jeśli chodzi o funkcje.

    Jak mi tu napiszesz co to jest DEFINICJA i DEKLARACJA funkcji to może jeszcze coś pomogę - inaczej - absolutnie kończę swoje odpowiedzi w tym wątku - bardzo przepraszam ale nie daję rady.

    _________________
    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: 21 mar 2012, o 00:00 
    Offline
    Użytkownik

    Dołączył(a): 07 mar 2012
    Posty: 54
    Pomógł: 0

    Jeśli deklaruje funkcję to daje znać kompilatorowi jakiego typu argumenty może ona przyjmować oraz jaki typ zwraca,
    a definicja oprócz tego rezerwuje jeszcze pewien obszar pamięci flash (czyli pamiec programu) i umieszcza w niej zawartosc funkcji



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 mar 2012, o 07:42 
    Offline
    Moderator
    Avatar użytkownika

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

    wasu napisał(a):
    Jeśli deklaruje funkcję to daje znać kompilatorowi jakiego typu argumenty może ona przyjmować oraz jaki typ zwraca,
    a definicja oprócz tego rezerwuje jeszcze pewien obszar pamięci flash (czyli pamiec programu) i umieszcza w niej zawartosc funkcji


    No właśnie - więc jak można wpaść na pomysł "wywołania" funkcji POZA CIAŁEM INNEJ FUNKCJI ????

    przecież zapis:

    def_lcdchar(0x81, znak_);

    tuż po definicji zmiennych kompilator będzie próbował rozpoznać jako deklarację funkcji tyle że jakąś skopaną na maxa. No bo nie widać jaki typ danych ona zwraca, nie widać typów jej argumentów, kompilator widzi tylko jakąś nazwę, a to że po jej prawej stronie jest otwarty pierwszy nawias okrągły i dzieje się to poza jakąkolwiek funkcją - to domyśla się że ma do czynienia z próbą deklaracji funkcji, ale jakiejś okaleczonej a co gorsze - mówi ci w komunikatach WYRAŹNIE że taka nazwa została już wcześniej zarezerwowana w bibliotece LCD ......

    Zatem nie wymyślaj proszę nowych zasad języka C - bo nigdzie w książce nie napisałem, że można wywoływać jakiekolwiek funkcje poza ciałem innych funkcji - toż to jakaś fantasmagoria zarówno dla mnie jak i dla kompilatora. Więc nie ma co się dziwić, że prawie się kompilator udławił jak próbował taki kod skompilować i zwymiotował taką ilością warningów i błędów.

    ..... poczytaj o funkcjach .....

    _________________
    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: 21 mar 2012, o 08:22 
    Offline
    Użytkownik

    Dołączył(a): 24 sty 2012
    Posty: 1469
    Pomógł: 56

    mirekk36 napisał(a):
    (...) Więc nie ma co się dziwić, że prawie się kompilator udławił jak próbował taki kod skompilować i zwymiotował taką ilością warningów i błędów.

    ..... poczytaj o funkcjach .....

    Ale się uśmiałem :D
    Masz Mirku niezwykle sugestywny język... ;)

    _________________
    Jestem początkujący i moje porady mogą być błędne



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 mar 2012, o 22:47 
    Offline
    Użytkownik

    Dołączył(a): 07 mar 2012
    Posty: 54
    Pomógł: 0

    Witam, skonczylem reazlizacje mojego pierwszego 'projektu' , ktory tak naprawde sam sobie wymyslilem.
    Program wykorzystuje 5 klawiszy K 12345, 8 diod led i wyswietlacz LCD, wykonalem to na plytce ATB 1.03.
    klawisz numer 1 przesówa sie w menu w lewo, 5 w prawo, 3 wchodzi do wybranej diody i otwiera menu wyboru funkcji z ktorego wychodzimy klawiszem K5. Jak komus bedzie siechcialo sprawdzic i cos podpowiedziec cozrobic w celu optymalizacji kodu bede wdzieczny. Mirku Tobie dziekuje za cierpliwosc i wyrozumialosc, to byl moj pierwszy projekt w ktorym spotkalem wiele problemow i troche siedzieki temu nauczylem
    w zalaczniku projekt


    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: 21 mar 2012, o 23:00 
    Offline
    Moderator
    Avatar użytkownika

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

    Wgrałem projekt, kompiluje się ale źle, a ty tego nie zauważasz. A już ci wcześniej mówiłem, że masz wyłączoną optymalizację - tzn na -O0

    rozumiesz to?

    wszystkie funkcje _delay ci w związku z tym źle działają i masz takie błędy w konsoli:

    Cytuj:
    c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h:90:3: warning: #warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed"


    przez co program po kompilacji zajmuje o zgrozo:
    Program: 10340 bytes (15.8% Full) ----- FLASH
    (.text + .data + .bootloader)

    Data: 167 bytes (4.1% Full) --------- RAM
    (.data + .bss + .noinit)

    tymczasem po włączeniu optymalizacji na -Os będziesz miał:

    Program: 2462 bytes (3.8% Full) ----- FLASH
    (.text + .data + .bootloader)

    Data: 158 bytes (3.9% Full) --------- RAM
    (.data + .bss + .noinit)


    ustaw optymalizację na -Os

    Poza tym cieszę się, że udało ci się zrobić taki wielo-plikowy projekt

    _________________
    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  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 36 ]  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 7 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