- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Dell notebook topic
- Milyen notebookot vegyek?
- Dobta az OLED kijelzőt a Honor MagicPad 3
- Milyen billentyűzetet vegyek?
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- AMD Navi Radeon™ RX 6xxx sorozat
- HiFi műszaki szemmel - sztereó hangrendszerek
- Samsung Galaxy Tab S11 és Tab S11 Ultra: minden, amit tudni érdemes
- Azonnali VGA-s kérdések órája
-
PROHARDVER!
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]
-
gya/352
tag
Ha jol ertelmezem a linkelt megoldas egy full flash erase.
De feltoltes elott az arduino is elvegzi ezt. Nem?
A masik hogy oke hogy bootkor ez tortenik, de utana mukodes kozben sem inditja el nemelyik adot. Es masodik probalkozasra pedig elinditja. Minden masodikra tudja olvasni/irni az nvs-t?
Új hozzászólás Aktív témák
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Dell notebook topic
- Elektromos autók - motorok
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Samsung Galaxy S23 FE - nincsen sárkány
- Építő/felújító topik
- Luck Dragon: Asszociációs játék. :)
- Tesla topik
- Milyen notebookot vegyek?
- Android alkalmazások - szoftver kibeszélő topik
- További aktív témák...
- Apple iPhone 16 128GB, Kártyafüggetlen, 1 Év Garanciával
- Azonnali készpénzes INTEL CPU AMD VGA számítógép felvásárlás személyesen / postával korrekt áron
- Xiaomi Redmi Note 11 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Microsoft Windows, Office & Vírusirtók: Akciók, Azonnali Szállítás, Garantált Minőség, Garancia!
- Samsung Galaxy Z Flip 4 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: FOTC
Város: Budapest