Close

Odpověď na: Nodemcu Arduino IDE

Úvodní stránka Fórum Hardware Arduino Nodemcu Arduino IDE Odpověď na: Nodemcu Arduino IDE

#11303
Zbyšek Voda
Správce

Používáte funkci int wifi_send_pkt_freedom(uint8**, int, bool);
Tato funkce má první parametr ukazatel na ukazatel na uint8. Popřípadě se dá také interpretovat jako pole ukazatelů na hodnoty typu uint8, nebo ukazatel na pole (což asi je případ, který potřebujete).

Vy ale této funkci předáváte jenom pole, ale ne ukazatel na pole.
Řekněme, že máte něco jako:

byte data[] = {1, 2, 3, 4, ...};
wifi_send_pkt_freedom(data, x, y);

Místo data zkuste zapsat &data, tedy:
wifi_send_pkt_freedom(&data, x, y);

Znak ampersand (&) značí, že chcete získat adresu dané proměnné. Ukazatele jsou vlastně adresy.

Většinou stačí přeložit hlášku:
cannot convert ‘uint8_t* {aka unsigned char*}’ to ‘uint8** {aka unsigned char**}’ for argument ‘1’ to ‘int wifi_send_pkt_freedom(uint8**, int, bool)’
můžete číst jako
Nejde převést uint8_t* na uint8** v prvním argumentu funkce wifi_send_pkt_freedom(uint8**, int, bool)

uint8_t* = ukazatel na typ uint8_t / pole uint8
uint8_t** = ukazatel na ukazatel na uint8_t / pole ukazatelů na uint8_t / ukazatel na pole uint8_t

Pokud to nepůjde, pošlete sem kód 🙂