Hirdetés

2024. április 19., péntek

Gyorskeresés

Útvonal

Fórumok  »  Egyéb hardverek  »  Arduino kompatibilis mikrokontrollerek (téma lezárva)

Hozzászólások

(#1) Teasüti


Teasüti
nagyúr

Legyen ez a topik a helye mindazon témakörnek, ami az Arduino topikba nem igazán fér bele, nem kapcsolódik szorosan ahhoz a platformhoz, ami ott off topic. Szolgáljon gyűjtőhelyéül az Arduino kompatibilis mikrokontrollereknek éppúgy ahogy az eltérő platformoknak, legyen az ARM, ESP, stb. a hozzájuk tartozó fejlesztőkörnyezettel, mint a System Workbench, ESP-IDF, Eclipse, stb.

[ Szerkesztve ]

(#2) Teasüti


Teasüti
nagyúr

Szóval van nekem ez az ESP-WROOM32 lapom, de hogy kell neki tápot adni? Jó neki a stabilizált 5V vagy 3V3 kell?

(#3) Teasüti


Teasüti
nagyúr

ESP32 Arduino IDE-ben feltöltéskor 1310720 bájtos tárhelyet ír nekem maximumnak.
Lehetséges még használatba venni a maradékot? Particionálni kell hozzá?
Köszönöm!

(#4) Tankblock


Tankblock
aktív tag

Hello

array bound is not an integer constant before --> erre kaptál választ?

Release the Beast....

(#5) Tankblock válasza Teasüti (#2) üzenetére


Tankblock
aktív tag

Hello Teasüti,

Milyen lapod van? csak a chip vagy development board?

Ha csak a chip van akkor :

The operating voltage for ESP32 ranges from 2.3V to 3.6V. --> 3v3 kell neki.

[link]

Release the Beast....

(#6) Teasüti válasza Tankblock (#5) üzenetére


Teasüti
nagyúr

(#7) Teasüti válasza Tankblock (#4) üzenetére


Teasüti
nagyúr

Nem, máshogy oldottam meg a kérdést. :)
Működik a STRANDS[0].numPixels szintaktika az objektum elemére való hivatkozásnál, csak az alábbi sorban vmiért nem. És a casting-ra se akar menni.

byte buffer1[(int)STRANDS[0].numPixels * 3] = {};

Mindegy, hagytam a fenébe.

(#8) Tankblock válasza Teasüti (#7) üzenetére


Tankblock
aktív tag

természetesen nem jó, mert:

the arraySize must be an integer constant greater than zero and type can be any valid C data type

így a castolás szerintem const int nek kellene lennie.

Legegyszerűbb ha defineba teszed a hosszát. Akkor nem kell ilyen szörnyűséget művelni, vagy olvasd ki int be egy sorral előtte és azt írd bele,,,

Release the Beast....

(#9) Teasüti válasza Tankblock (#8) üzenetére


Teasüti
nagyúr

#define-ba tettem. :)

MÁS:
Kezdek rájönni a lap működésének nyitjára.
Kezdetben én a CMD portot néztem GND-nek (a feliratok kissé homályosak, max nagyítóval lehet látni a különbséget), szerencsétlen nem csoda ha elszállt flash error-ral. :))
A strapping pin-ről levettem a led szalagot, biztos ami biztos alapon (bár csak felhúzásra állít be alacsony feszültséget a flash chip-nek).
DIO-t használok a flash módnál, ami állítólag stabilabb.
Mostanra eljutottam odáig, hogy USB-ről stabilan fut a lap és kezeli a led szalagokat is.
5V-ről táplálva viszont még akadnak boot-olási problémák, de már van amikor hajlandó elindulni így is.
Ha mindkét oldalról be van táplálva (az usb biztonságban van a visszatáplálás ellen, a tervrajzon látható, hogy van az usb pozitív ágán egy dióda) és futás közben húzom ki az usb-t, akkor minden gond nélkül megy tovább. Nem fagy ki. Ha viszont reset-elem, akkor az esetek nagy részében nem akar elindulni a külső tápról.
A reset hatástalan, ellenben ha áramtalanítom, akkor el tud indulni és onnantól kezdve újra tudom indítani a reset-tel is.
Szóval a boot loop-ból a reset nem, de a teljes áramtalanítás ki tudja zökkenteni.
Ez mire utalhat?
(Ezt már megfigyeltem az Atmel324p-nél is, hogy a reset nem, csak a teljes áramtalanítás használ.)

[ Szerkesztve ]

(#10) Teasüti


Teasüti
nagyúr

ESP32 Arduino IDE-ben, mikor több task-ot hozok létre, akkor az egyes folyamatok visszakapják a cpu időt, mikor lejár a delay()? Vagy ha egyszer átadják a "pálcát" (semaphore: baton) a konkurens folyamatnak, akkor ezek a delay() időzítések elcsúszhatnak?

(#11) Tankblock válasza Teasüti (#10) üzenetére


Tankblock
aktív tag

Hello,

Ez a kérdés így komplikált. Kódot pls.
Task kezelés alatt ha a taskok prioritása nem ugyanakkora, és a high prios task folyamatosan pörög, előfordulhat olyan, hogy a kis prioritású tasknak nem marad időszelet.

Semaphore kezelés meg más topic, ha azt rosszul csinálod akkor deadlock lesz. Ezt a taskok közötti sync használják, amig nincs elengedve addig a várakozó szál nem fut, teljesen mindegy milyen prios.

Release the Beast....

Útvonal

Fórumok  »  Egyéb hardverek  »  Arduino kompatibilis mikrokontrollerek (téma lezárva)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.