- Fotók, videók mobillal
- iPhone topik
- Samsung Galaxy Watch6 Classic - tekerd!
- Milyen okostelefont vegyek?
- Honor Magic5 Pro - kamerák bűvöletében
- Swarovski kristályok a fagyos Motorolán
- Köredzésen járt az Exynos 1680
- Szakít a OnePlus és a Hasselblad?
- Nubia Red Magic 10S Pro - újratöltve
- Samsung Galaxy Watch8 - Classic - Ultra 2025
Hirdetés
Köszönjük a sok biztatást, támogatást! Utolsó pillanat a féláras hirdetésfeladásra, előfizetésre!
-
Mobilarena
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
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Fotók, videók mobillal
- AMD Radeon™ RX 470 / 480 és RX 570 / 580 / 590
- Azonnali fotós kérdések órája
- Milyen autót vegyek?
- Trackball/hanyattegér topic
- Bestbuy játékok
- iPhone topik
- Battlefield 6
- További aktív témák...
- Lenovo T495S Touch (érintő képernyő) AMD Ryzen 5 Pro 3500U, 12 hónap garancia, áfás számla
- HP ZBook Studio 15" G8 - i9 / 1TB / 32GB / 4GB NVIDIA
- Sencor Mobilklíma (Wifi) sac-mt7049c
- Asus F15 FX507 15.6" FHD IPS i7-12700H RTX 4070 32GB 512GB NVMe magyar vbill gar
- Garanciális Gamer Számítógép, PC (RX 6600 8GB, Ryzen 5 3600,16GB RAM, SSD) Beszámítás! Posta ok (31)
- iMac Pro 1.1 2017 Intel Xeon W2150B 64GB 1000GB 1 év garancia!
- 15,6" Dell Latitude laptopok: E6540, E5550, E5570, 5580, 5590, 5500, 5501, 5510/ SZÁMLA + GARANCIA
- iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3086, 94% Akkumulátor
- Xiaomi 14 Ultra 512GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone SE 2020 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2192, 100% Akkumulátor
Állásajánlatok
Cég: FOTC
Város: Budapest