-
Fototrend
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
its_grandpa
tag
Amíg "debuggoltam" írtatok párat de sebaj, azért ezt most csak itt hagyom
Jogos, nem emlékeztem rá de most megnéztem.
Viszont azt gondolom megtaláltam és vesszek meg ha értem másnak miért működik.
Esp32_radio_init.ino 28. sor preferences.clear() , töröl mindent.
Ezután kiírja kódból az összeset,nézzük a 49. sort. preferences.putString ( "preset", "6" ) ;Ezt látjuk a hibaüzenetben:
:58:11.630 -> D: nvs_get_str failed 1102 for key preset, keylen is 6, len is 150!A kulcs hossza 6 ("preset" sztring hossza) de mi 150-et akarunk olvasni.
Ennek oka a main.cpp 708. sorától az nvsgetstr ( const char* key ) függvény és a 145. sor#define NVSBUFSIZE 150 // Max size of a string in NVS
A nvsgetstr fv. első 5 sora :
static char nvs_buf[NVSBUFSIZE] ; // Buffer for contents
size_t len = NVSBUFSIZE ; // Max length of the string, later real length
nvsopen() ; // Be sure to open nvs
nvs_buf[0] = '\0' ; // Return empty string on error
nvserr = nvs_get_str ( nvshandle, key, nvs_buf, &len ) ;
Megnyitjuk, a 150 hosszú nvs_buf 0. pozijára beírjuk a C sztring szeparátort, eddig OK.
Ezután viszont vissza akarjuk olvasni a kulcsot ( a mi esetünkben ez a "preset") , a 150 hosszú nvs_buf-ba, de mindig 150 hosszan mert a len változó értéke az bizony 150.
Ez így - szerintem - sose fog menni,hibaüzenet lesz a 718. sorban.
Ha minden igaz a kulcs valódi hosszát így lehet(ne) kideríteni.size_t real_len = 0;
nvs_get_str ( nvshandle, key, nullptr , &real_len );
Ezután kellene beolvasni a kulcsot a tényleges hossz ismeretében.nvserr = nvs_get_str ( nvshandle, key, nvs_buf, &real_len ) ;
Itt egy jó példa fv. a tényleges hossz megállapítására [link]
Új hozzászólás Aktív témák
- Ipollo v1 mini 300 Mhs olcsón
- Lenovo ThinkPad L15 Gen 1 i5 / 16GB RAM / 256GB SSD / FHD IPS / 4G modem
- Lenovo ThinkPad E15 Gen 3 Ryzen 5 / 16GB RAM / 256GB SSD / FHD IPS / 1GB dedikált VGA
- Lenovo ThinkPad X1 Yoga Gen 3 i7 / 16GB / 512GB SSD / 2 az 1-ben érintőkijelző / WQHD IPS
- Lenovo ThinkPad T14s i7 / 32 GB RAM / 256 GB SSD / Full HD IPS
- HP 24" IPS LED FULL HD monitor 24fh 4HZ37AA
- Bowers/Wilkins PX8 fejhallgatók (dupla Bluetooth eszköz csatlakoztatása!) (CSAK RENDELÉSRE)
- BESZÁMÍTÁS! Microsoft XBOX One 500GB fekete játékkonzol garanciával hibátlan működéssel
- Microsoft Surface Go 10.5" 8GB 128GB Pentium Gold 4415Y 1 év garancia
- Apple Macbook Air 13,6 M4 16GB/256GB - 7 Ciklus - 100% Akkumulátor - MAGYAR - Ezüst - 3 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest