Chyba při překladu Arduino *vyřešeno*

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
hafca
Příspěvky: 4401
Registrován: 27 črc 2004, 02:00
Bydliště: 25km na západ od Prahy
Kontaktovat uživatele:

Chyba při překladu Arduino *vyřešeno*

#1 Příspěvek od hafca »

Potřebuji nějak naladit AS3935, protože nemám číslo, které mělo být údajně na sáčku ve kterém byl. Při překladu testovacího souboru se mi objeví chyba se kterou jsem se potkal několikrát z různých zdrojů. Jednou jsou to čísla, jindy proměnné.
Nemůžu přijít na to, kde je chyba.
no matching function for call to 'AS3935::AS3935(byte (&)(byte), int, int)'
Začátek kódu
#include <SPI.h>
#include <AS3935.h>

void printAS3935Registers();
byte SPItransfer(byte sendByte);
void AS3935Irq();
volatile int AS3935IrqTriggered;

/*první argument: Funkce přenosu SPI
druhý argument: pin použitý pro CS
třetí argument: pin použitý pro IRQ
*/

AS3935 AS3935(SPItransfer,10,1);
Naposledy upravil(a) hafca dne 02 črc 2021, 12:08, celkem upraveno 1 x.
Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.

Uživatelský avatar
samec
Příspěvky: 3692
Registrován: 19 pro 2017, 01:00

#2 Příspěvek od samec »

máš tušenie, čo robíš?

Uživatelský avatar
hafca
Příspěvky: 4401
Registrován: 27 črc 2004, 02:00
Bydliště: 25km na západ od Prahy
Kontaktovat uživatele:

#3 Příspěvek od hafca »

Ptáš se proto, že taky nevíš?
Je to začátek kódu z internetu, jak už jsem psal. Takže to není moje práce. Jen jsem snažil o překlad, protože jsem předpokládal, že když někdo něco uveřejní, tak to sám odzkoušel.
Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.

Uživatelský avatar
jezevec
Hlavní moderátor
Hlavní moderátor
Příspěvky: 5414
Registrován: 13 čer 2004, 02:00
Bydliště: Břeclavsko
Kontaktovat uživatele:

#4 Příspěvek od jezevec »

Vyzkoušej starší verze překladače, to samé mi dělalo při oživování 3D tiskárny.

Uživatelský avatar
hafca
Příspěvky: 4401
Registrován: 27 črc 2004, 02:00
Bydliště: 25km na západ od Prahy
Kontaktovat uživatele:

#5 Příspěvek od hafca »

Zkusil jsem 1.6.5 a je to stejné.
V programování nejsem zběhlý, zvládnu malé úpravy, ale tady se nechytám. Ale tuším, že jako vždy bude chyba mezi židlí a klávesnicí.
Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.

Uživatelský avatar
bdn
Příspěvky: 436
Registrován: 16 led 2020, 01:00

#6 Příspěvek od bdn »

link na knihovnu AS3935?
Je možné, že předané argumenty nepasují s definicí funkce.

Uživatelský avatar
hafca
Příspěvky: 4401
Registrován: 27 črc 2004, 02:00
Bydliště: 25km na západ od Prahy
Kontaktovat uživatele:

#7 Příspěvek od hafca »

Marnost nad marnost. Při laborování s knihovnami se objevily jiné chyby a nakonec to zase skončilo na té samé.
Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.

Uživatelský avatar
Standa33
Příspěvky: 283
Registrován: 07 lis 2009, 01:00

#8 Příspěvek od Standa33 »

https://www.14core.com/wiring-the-frank ... ontroller/

Zkus se podívat na tuhle stránku.

Uživatelský avatar
hafca
Příspěvky: 4401
Registrován: 27 črc 2004, 02:00
Bydliště: 25km na západ od Prahy
Kontaktovat uživatele:

#9 Příspěvek od hafca »

Tam jsem byl, u SPI ta samá chyba. A I2C mi nejde. Test na adreu nenajde žádné zařízení.
Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.

Uživatelský avatar
samec
Příspěvky: 3692
Registrován: 19 pro 2017, 01:00

#10 Příspěvek od samec »

jezevec píše:Vyzkoušej starší verze překladače
A čo tak skúsiť nejaké povery a pranostiky?

Na štvrtom riadku máš deklaráciu funkcie SPItransfer s nejakými paramerami.
V poslednom riadku vkladáš smernik na túto funkciu do inej funkcie, ale kde sú parametre? Čo tým chcel básnik povedať?

Máš tušenie, čo robíš?

Uživatelský avatar
hafca
Příspěvky: 4401
Registrován: 27 črc 2004, 02:00
Bydliště: 25km na západ od Prahy
Kontaktovat uživatele:

#11 Příspěvek od hafca »

A ty víš co s tím?
Co tím chtěl básník říct opravdu nevím. Já to nebyl, ale to už jsem psal. A že tohle moc neumím, to jsem psal taky. Proto jsem se tady odvážil zeptat a čekal jsem nějakou konkrétní radu.
Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.

Uživatelský avatar
samec
Příspěvky: 3692
Registrován: 19 pro 2017, 01:00

#12 Příspěvek od samec »

Bez serióznej dokumentácie k tej knižnici s vyčerpávajúcim popisom jednotlivých funkcií, objektov, metód a spôsobu implementácie skôr vyhráš v športke, než rozchodíš ten kód.

Uživatelský avatar
Standa33
Příspěvky: 283
Registrován: 07 lis 2009, 01:00

#13 Příspěvek od Standa33 »

/*první argument: Funkce přenosu SPI
druhý argument: pin použitý pro CS
třetí argument: pin použitý pro IRQ
*/

AS3935 AS3935(SPItransfer,10,1); tohle je nějaká blbost


V knihovně AS3935.h je tato definice:
AS3935(int8_t CSx, int8_t IRQx, int8_t SIx);

/*první argument: Funkce přenosu CS
druhý argument: pin použitý pro IRQ
třetí argument: pin použitý pro SPI
*/

Uživatelský avatar
hafca
Příspěvky: 4401
Registrován: 27 črc 2004, 02:00
Bydliště: 25km na západ od Prahy
Kontaktovat uživatele:

#14 Příspěvek od hafca »

Je to nějaký binec v knihovnách. Konkrétně v té AS3935. Našel sem jich několik a s každou to dělá jiné chyby.
Budu muset hledat, dokud nenajdu nějakou co funguje.
Dík za snahu pomoci.
Kdyby Edison nevynalezl elektřinu, do teď se díváme na televizi při svíčkách.

Uživatelský avatar
h_honza
Příspěvky: 109
Registrován: 01 úno 2020, 01:00
Bydliště: Praha 1

#15 Příspěvek od h_honza »

První argument má být podle komentáře "funkce přenosu" a přitom v deklaraci je int8_t, což je asi byte. V programu je první argument typu byte (&)(byte), což odkaz na funkci je. Takže mám za to, že zbordelený je ten knihovní header.

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“