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 24 lip 2025, o 22:53


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
    PostNapisane: 29 lip 2012, o 09:48 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 maja 2012
    Posty: 758
    Pomógł: 9

    Hmm dziwne. Pokaz jeszcze plik ks108drv.c

    _________________
    ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 lip 2012, o 10:03 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 maja 2012
    Posty: 758
    Pomógł: 9

    Wywal deklaracje (te jednolinijkowe) z pliku .c i powiedz, czy pomogło. W tym momencie dwa razy deklarujesz to samo - w pliku .h i w pliku .c i nic dziwnego, że kompilator protestuje. W .c zostaw tylko definicje (ciała) funkcji. Deklaracje tylko w .h

    _________________
    ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 lip 2012, o 10:09 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 maja 2012
    Posty: 758
    Pomógł: 9

    Jeżeli wykorzystujesz te funkcje poza tymi dwoma plikami to w .c nie powinno być deklaracji, tylko w .h

    ------------------------ [ Dodano po: kilkunastu sekundach ]

    Sprawdź, czy nie dałeś gdzieś złego nawiasu (np. klamrowego zamiast okrągłego) i czy wszystkie nazwy się zgadzają.

    _________________
    ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 lip 2012, o 11:57 
    Offline
    Moderator
    Avatar użytkownika

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

    robiw --> już w innym poście upierasz się trochę np nad czymś takim, że funkcje typu inline nie muszą być koniecznie w pliku *.h tylko w *.c .... pomimo że pokazuję jak warto do tego podchodzić. Teraz z kolei wymyślasz już na prawdę ciekawostki, ;) że niby deklaracje funkcji można sobie umieszczać i w pliku *.c i w *.h - to już jest totalne kuriozum to co tu piszesz. I wcale to nie oznacza że to akurat teraz musi być błędem - jednak robisz coś przez co potem co chwilę się gubisz - bo nie chcesz przyjąć pewnego standardu jaki jest w C tylko robisz coś po swojemu.

    W tym przypadku jak pisze Ledes musi być tak bezwzględnie że deklaracje funkcji są albo w *.c albo w *.h a najlepiej jeśli są w *.h i to bez dwóch zdań.

    a ten błąd który tu masz wynika też z tego co pisze wyżej Ledes bo i sam kompilator to podpowiada.... coś jest nie tak z syntaktyką - tyle że szukać czasem trzeba w inkludowanym pliku ...

    ------------------------ [ Dodano po: 3 minutach ]

    robiw napisał(a):
    zwłaszcza, jeśli funkcje korzystają nawzajem z siebie a nie są w odpowiedniej kolejności.


    I to właśnie zapewniają deklaracje w plikach *.h - tyle że na razie pewnie to do ciebie jeszcze nie dotarło.

    Ja gdy tworzę jakiś plik *.c (pisałem zresztą o tym w książce) np:

    XXX_DRV.c

    to od razu tworzę plik

    XXX_DRV.h

    i na początku pliku c umieszczam inkluda:

    #include "XXX_DRV.h"

    a potem jeśli tylko jakąś funkcję napiszę w *.c to jej deklarację od razu daję do *.h

    zacznij tak działać zamiast pisać że sprawdzałeś ale to nic nie dało - czyli co ? powróciłeś do tego co miałeś ? Sorki ale tak to można sobie pomagać przez 5 miesięcy zanim dojdziemy do błędu ;) eliminuj je (te błędy) od razu krok po kroku.

    _________________
    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 lip 2012, o 20:55 
    Offline
    Użytkownik

    Dołączył(a): 01 cze 2012
    Posty: 72
    Lokalizacja: Gdańsk
    Pomógł: 2

    Ja nie będe polemizował co, gdzie i z czym pisać. Mam zbyt małą wiedze, aby w tym temacie coś dodać.
    Co do błędów, to na moje oko, wygląda to tak, jakby kompilator typ "uint8_t" odbierał jako zmienną. Proponuje "wcisnąc na siłe" do projektu plik "stdint.h".
    Tak jak wpomniałem wcześniej, nie jestem ekspertem.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 lip 2012, o 23:06 
    Offline
    Moderator
    Avatar użytkownika

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

    robiw napisał(a):
    Mirku,
    Nie ma się co tak unosić,


    Robert, Panowie nie odbierajcie zawsze że ja zaraz się unoszę czy coś ... ja chyba tak zawsze żywiołowo reaguję - a że nie widzimy się face to face i nie widać mimiki mojej facjaty ;) to dlatego jakieś takie może reakcje....

    Robert - jak tak coś przez skórę czuję że to błąd w którymś z inkludowanych plików - nastąpiło że tak powiem zakręcenie pępowiny wokół szyjki .... eeeeh tfuuu co ja tu jakieś ginekologiczne porównania ;)

    Dawaj Pan projekt na maila - rzucę okiem bo sam miewam nieraz takiego babola - najczęściej wtedy gdy sam definiuję jakieś typy albo np gdy w definicji preprocesora strzelę gdzieś niepotrzebnie średnik na końcu linii - no i zaczyna się jatka po rozwinięciu tego przez preprocesor a w kodzie tak wprost oczami tego nie widać

    _________________
    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: 6 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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