logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Arduino Leonardo wyświetlenie błedu KOD-u z bibloteką PCF8574.h

kiss39 07 Maj 2017 15:32 1278 2
REKLAMA
  • #1 16461012
    kiss39
    Poziom 39  
    Posty: 5354
    Pomógł: 397
    Ocena: 636
    Witam

    Posiadam Arduino Leonardo CHIP ATmega32u4 i próbuję skompilować kod programu z biblioteką PCF8574.h i wyświetlany jest błąd programu. Co może być źle ?

    Źródło kod-u :PCF8574 czyli jak łatwo zwiększyć liczbę pinów w Arduino
    Źródło biblioteki : pobranie "PCF8574.zip" i jej wgranie wg opisu "Sketch->Import Library...->Add Library...
    i wybierz ściągnięty plik ZIP" ze strony Forum Elektrody : niedziałająca biblioteka pcf8574 arduino

    KOD wyznaczający Adres identyfikatora ekspandera PCF8574
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod



    Przygotowanie Kod-u
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    -------------------
    Wynik z kompilacji

    Arduino: 1.8.1 (Windows 7), Board: "Arduino Leonardo"

    programEkspanderPCF8574:4: error: no matching function for call to 'PCF8574::PCF8574()'

    PCF8574 expander;

    ^

    C:\Users\XXX\Documents\Arduino\yyy\programEkspanderPCF8574\programEkspanderPCF8574.ino:4:9: note: candidates are:

    In file included from C:\Users\XXX\Documents\Arduino\yyy\programEkspanderPCF8574\programEkspanderPCF8574.ino:1:0:

    C:\Users\XXX\Documents\Arduino\libraries\PCF8574/PCF8574.h:27:3: note: PCF8574::PCF8574(int)

    PCF8574(int address);

    ^

    C:\Users\XXX\Documents\Arduino\libraries\PCF8574/PCF8574.h:27:3: note: candidate expects 1 argument, 0 provided

    C:\Users\XXX\Documents\Arduino\libraries\PCF8574/PCF8574.h:24:7: note: constexpr PCF8574::PCF8574(const PCF8574&)

    class PCF8574

    ^

    C:\Users\XXX\Documents\Arduino\libraries\PCF8574/PCF8574.h:24:7: note: candidate expects 1 argument, 0 provided

    C:\Users\XXX\Documents\Arduino\libraries\PCF8574/PCF8574.h:24:7: note: constexpr PCF8574::PCF8574(PCF8574&&)

    C:\Users\XXX\Documents\Arduino\libraries\PCF8574/PCF8574.h:24:7: note: candidate expects 1 argument, 0 provided

    C:\Users\XXX\Documents\Arduino\YYY\programEkspanderPCF8574\programEkspanderPCF8574.ino: In function 'void setup()':

    programEkspanderPCF8574:7: error: 'class PCF8574' has no member named 'begin'

    expander.begin(0x20);

    ^

    exit status 1
    no matching function for call to 'PCF8574::PCF8574()'

    This report would have more information with
    "Show verbose output during compilation"
    option enabled in File -> Preferences.
  • REKLAMA
  • Pomocny post
    #2 16461441
    namok
    Poziom 25  
    Posty: 529
    Pomógł: 91
    Ocena: 73
    Popełniłeś podstawowy błąd - użyłeś gotowego programu znalezionego w sieci i biblioteki która nie jest zgodna z programem. Gdybyś użył biblioteki ze strony którą podałeś w pierwszym linku lub przejrzał przykład z biblioteki której użyłeś to nie byłoby problemu.
    To że biblioteki posiadają pliki o takich samych nazwach nie znaczy że posiadają taki sam interfejs. Przejrzyj przykładowy program i wszystko stanie sie jasne.
  • #3 16462334
    kiss39
    Poziom 39  
    Posty: 5354
    Pomógł: 397
    Ocena: 636
    Wrzucam pliki *.h i *.cpp, które są umieszczone w katalogu "libraries" biblioteki.

    c:\Program Files(x86)\Arduino\hadware\arduino\avr\libraries\Wire\src\
    -Wire.h
    -Wire.cpp
    Kod w pliku Wire.h
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Kod w pliku Wire.cpp
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    ---------------------------------------------------
    c:\Users\XXX\Documents\Arduino\libraries\PCF8574\
    -PCF8574.h
    -PCF8574.cpp
    Kod w pliku PCF8574.h
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Kod w pliku PCF8574.cpp

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
REKLAMA