- sziku69: Fűzzük össze a szavakat :)
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- sziku69: Szólánc.
- btz: Internet fejlesztés országosan!
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- gban: Ingyen kellene, de tegnapra
- ldave: New Game Blitz - 2025
- vrob: Az utolsó DOS játékok 1996 - 1997-ben, egy korszak lezárul
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
LOGOUT
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
-
Tankblock
aktív tag
válasz
Teasüti #7312 üzenetére
Hello,
Ha jól emlékszem, akkor külön task ID fog kapni és fog párhuzamosan futni n-szer is.
Amit leírtál az tervezést igényel.
SW megoldásként : a megszakításban kellene viszgálni, hogy mikor volt utoljára meghívva az interupt és ha az idő megfelelően nagy csak akkor végigfuttatni a megszakítás logikáját.
Vagy
Perlmentesíteni HW esen,
Delay miért kell? nem lehet másképpen megoldani? pl Queue v xEventGroup (ez nem tudom, h implementálva van-e ESP32 FreeRTOS ra.) Vagy Taskot suspendedbe tenni és felkelteni amikor kell....
-
Janos250
őstag
válasz
Teasüti #7312 üzenetére
Hát, ezt éppen nem próbáltam. Elég érdekes ez a két mag, több task rendszer. Azért pár dolgot leírok, nem Neked, hanem azoknak, akik még most kezdik. Automatikusan a core1-re megy a loop. Azt úgy lehet áttenni a core0-ra, ha megkeressük a main programot, és átírjuk benne 0-ra. Megy, bár lehetnek gondok, pl. mindkét magnak - úgy tűnik - külön számlálója van, ezért vigyázni kell az időzítésekkel. A számlálót ezzel lehet olvasni:
__asm__ __volatile__("esync; rsr %0,ccount":"=a" (CycleCount32));
Ez 240 MHz-el jár, de csak 32 bites, ezért tizen.. másodpercenként átfordul. Én csináltam hozza egy 64-bitest, az már az unokám életében sem fog átfordulni. Viszont, mivel gyors, finom időzítéseket lehet vele csinálni. Elvileg. Ugyanis hiába próbálunk mindent átrakni a core1-ről a 0-ra, akkor is szaggat valami. Talán a saját szoftver számlálója, amit az xTaskGetTickCount()-al lehet olvasni. A 240 MHz-es számlálót írni lehet, de ne írd, mert megbolondul az időzítés. Hogy pontosan mi hol fut, azt nem lehet tudni, mert a vTaskList nem működik. Meg a statisztika sem. A taskok számát le lehet kérdezni, de nem sokra mentem vele, hogy tudom, hogy nálam 7 task van, amiből háromról tudom, hogy mi, a többiről nem. A taskról információt akkor lehet lekérni, ha tudjuk a "nevét". Na, ezt nem tudjuk. Az IRAM-ba rakással is vigyázni kell, mert amit oda pakolunk, csak az egyik magon futtatható. Na, így egy szuszra ennyit.
Egyébként, ha a specialitásait nem akarja kihasználni az emberfia, akkor nagyon jó kis proci, ajánlom mindenkinek. Két mag, gyors, multitasking, de hiába freeRTOS, nem igazán RT (real time), a már említett okok miatt. Előbb-utóbb csak megoldja valaki, hogy a core1-en ne legyen szaggatás, de ezt még a neten is keresik.
Ha mondjuk egy UNO-n futó programot teszünk rá, akkor természetesen ilyen gondok nincsenek, csak annyit tapasztalunk, hogy megy mint a szélvész. Ajánlom is mindenkinek, hiszen alig drágább mint egy kínai UNO, az eredeti UNO árából meg féltucatot vehetünk.
Neked:
Kíváncsiságból megnéztem az RTM kezelést, de csak megnéztem, mert elég macerásnak tűnik első látásra, pedig nagyon jó lenne. Berakja az ember egy külön memória területre az adatokat (1 bit, hogy hi vagy low, és 15 bit a hossz, az időzítés), és utána elindítja, és a hardver sorra veszi ezeket a 16 bites (32= 2*16) adatsorokat és öntevékenyen kiküldi a "PWM" jelet.
Az eredeti kérdésedhez: a static változókra mindenképpen vigyázz, mert az közös!
Új hozzászólás Aktív témák
- NFL és amerikai futball topik - Spoiler veszély!
- One mobilszolgáltatások
- Kés topik
- exHWSW - Értünk mindenhez IS
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Kompakt vízhűtés
- Battlefield 6
- Samsung Galaxy S22 Ultra - na, kinél van toll?
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...
- GYÖNYÖRŰ iPhone 11 64GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS2190, 100% Akkumulátor
- Bomba Ár! Dell Latitude 3190 - Intel N4120 I 4GB I 64GB SSD I 11,6" HD I Cam I W11 I Garancia!
- REFURBISHED - HP USB-C Universal Dock G1 docking station (DisplayLink)
- LG 55C3 - 55" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
- Lenovo Thunderbolt 3 kábel (4X90U90617)
Állásajánlatok
Cég: FOTC
Város: Budapest