- Magga: PLEX: multimédia az egész lakásban
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Rap, Hip-hop 90'
- sziku69: Szólánc.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- gban: Ingyen kellene, de tegnapra
- Elektromos rásegítésű kerékpárok
- eBay-es kütyük kis pénzért
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
-
Panhard
tag
válasz
Janos250 #7790 üzenetére
Köszi a részletes magyarázatot.
Azt próbáltam még, hogy ha 1-nél magasabb prioritáson van a task, akkor el sem indul. Nem tudom miért. De mindegy, így most jól működik. Kicsit átvariáltam úgy, hogy az időkritikus feladatokat az alap loop-ba tettem, ami core1-en fut, minden mást az általam létrehozott loop1-be, ami core0.
-
Panhard
tag
válasz
Panhard #7787 üzenetére
Szerintem nem is az volt a baja a kutyának, hogy nem tudott a függvénytől futni a második task, hanem csak annyi, hogy nem csinál semmit 5mp-ig az első. Így néz ki a programban a task kezelés:
xTaskCreatePinnedToCore(loop1, "loop1", 4096, NULL, 1, NULL, 1);
xTaskCreatePinnedToCore(loop2, "loop2", 4096, NULL, 1, NULL, 0);
}
//***********************************************************************************************************
void loop() {
}
//***********************************************************************************************************
void loop1(void *pvParameters) {
while (1) {
gps();
}
}
//***********************************************************************************************************
void loop2(void *pvParameters) {
while (1) {
temp_millis = millis();
if(temp_millis>temp_millis_1 ) { temp_millis_1 = temp_millis+2000; meghiv(); }
}
}
//***********************************************************************************************************Ami fontos, hogy a gps függvénynek minden ciklusban hívódnia kell a loop1-ben, az nem állhat meg, mert akkor nem tudja beolvasni a gps vevőt a serial porton.
Minden más programrész a loop2-ben van, aminél nem számít, ha le is lassul a ciklusidő pár másodpercre. Ott amúgy is 2másodpercenként hívom meg a meghív függvényt. -
Panhard
tag
válasz
Janos250 #7786 üzenetére
Csak akkor azt nem értem, hogy miért fogja le a másik taskot? Összesen két task van beállítva, az egyik a core0-án, a másik a core1-en. Elvileg teljesen függetlennek kellene lenniük egymástól. Ha például az egyiket leállítom egy while(1);-el, a másiknak akkor is futnia kellene. Illetve fut is, de az miért baj a kutyának?
-
Panhard
tag
válasz
Janos250 #7784 üzenetére
Megoldódott. Az volt a baja, hogy az task üresjáratban megy valamikor több mint 5mp-ig. Ez egy do/while függvény, ebből nekem max 10mp után lép ki, ha addig nem jön válasz a szervertől. Ez így jó is. Betettem egy delay(1); késleltetést, így már csinál valamit, nem is indul be a task wdt.
-
Panhard
tag
Sziasztok!
Tudtok abban segíteni, ki lehet-e kapcsolni ESP32-ben a task watchdog-ot? Vagy növelni az idejét? Van egy függvényem, ami egy webszerveren lévő php fájl válaszát várja és ez valamikor több mint 5mp, ilyenkor "Task watchdog got triggered." hibaüzenetet kapom.
Próbáltam az sdkconfig fájlban módosítani az értéket 5mp-ről magasabbra, (CONFIG_TASK_WDT_TIMEOUT_S=20) és próbáltam kikapcsolni is, (CONFIG_TASK_WDT=) de ez nem volt hatással rá. Ugyanúgy 5mp után aktiválódik.
Ha az arduino probramban beincludolom a "esp_task_wdt.h" fájlt, és használom az abban lévő függvényeket, esp_task_wdt_feed() , esp_task_wdt_delete(), azok sincsenek hatással rá. Tudtok valami megoldást? Előre is köszönöm.
Új hozzászólás Aktív témák
- Eladó Garanciális (2027.10.08) AMD 7700 processzor
- 0 perces RYZEN laptop, eredeti Win10! FullHD IPS / 12GB DDR4 / 1TB M.2 SSD! LEGOLCSÓBB SZÁMLÁS ÁR!
- ASUS ROG STRIX 850W Gold Aura Edition RGB Moduláris Tápegység PCIE 5 ATX 3 2x 12VHPWR
- Corsair RM850i 850W Gold Moduláris Tápegység
- Corsair RM750X 750W Gold Moduláris Tápegység
- Új és újszerű 15"-16" Gamer, irodai, üzleti, készülékek nagyon kedvező alkalmi áron Garanciával!
- 2 TB-os Kingston NV3 M.2 SSD - 6000 MB/s olvasás
- 24 hónapos PlayStation Plus Premium előfizetés a legolcsóbban, egyenesen a PlayStation-től!
- MacBook Pro 14" M3 Pro 18GB RAM 512GB MAGYAR BILL 1 év garancia
- Asus ROG X13 Flow 2in1 Touch WUXGA 120Hz Ryzen9 5900HS 16GB 1TB SSD Nvidia RTX 3050Ti Win11 Garancia
Állásajánlatok
Cég: FOTC
Város: Budapest