Hirdetés
- Nyolc év után a Spotify eljutott a veszteségmentességig
- Poco F7
- Leminősítik az S26 Ultra zoomkameráját
- Vivo X200 Pro - a kétszázát!
- Motorola Moto G84 - színes egyéniség
- Apple iPhone 13 - hízott, de jól áll neki!
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- iPhone topik
- Merész dizájn és új teleobjektív az iPhone 17 Pro mobilokban
- Motorola Edge 40 - jó bőr
-
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
-
Janos250
őstag
válasz
Panhard #7788 üzenetére
Igen, erről érdemes még néhány szót szólni, hátha másnak is lesz ilyen problémája.
Nem a másik core-on futó taskot fogta meg, hanem ugyanazon a core-on a többi taskot.
Ugyanis a freeRTOS futtat még pár egyéb rendszer-taskot is, amit pontosan nem tudunk mit, mert elvileg a
vTaskList() lenne hivatott kilistázni, de az Arduino alatt valamiért nem működik.
Írjuk be a következő programot:void loop() {
Serial.println("loop begin");
uint8_t i = uxTaskGetNumberOfTasks( );
Serial.print("uxTaskGetNumberOfTasks = "); Serial.println(i);
delay(60000) ;
Serial.println("loop end");
} ; // end loopA WDT nem okoz gondot, hiába a hosszú várakozás, mert a scheduler által beállított prioritások miatt futhat a többi task is.
Ezt a kiírást kapjuk:
uxTaskGetNumberOfTasks = 7Tehát a mi loop taskunkon kívül még vannak a core-on hatan, akik szintén futni akarnak.
Ezért lényeges a prioritás.Ha megnézzük a main.cpp-t :
void loopTask(void *pvParameters)
{
setup();
for(;{
micros(); //update overflow
loop();
}
}extern "C" void app_main()
{
initArduino();
xTaskCreatePinnedToCore(loopTask, "loopTask", 8192, NULL, 1, NULL, ARDUINO_RUNNING_CORE);
}
Itt a loop prioritása 1, így igazából én sem teljesen értem, hogy miért nem futhatnak a többiek is, hiszen a loop prioritása is 1, meg Te is ugyanezt a prioritást adtad, de valahogy mégis megfogja a többit.
Tehát mégis az van, hogy ha valaki hatalomra jut, és olyan hangosan kiabál, hogy senki mást nem hagy szóhoz jutni, akkor egy idő után a WDT miatt összeomlik a rendszer. Szükséges egy delay!Még egy megjegyzés:
Ha a loopodat akarod a másik core-ra tenni, azt a mainben tudod átírni, az xTaskCreatePinnedToCore paraméterében. Én néha átteszem a core0-ra, ha a core1-en elég időkritikus taskot futtatok.
Új hozzászólás Aktív témák
- MacBook Air M3 13.6" 8/256 100% akkumulátor
- Eladó egy oneplus 9 pro 256/12
- !!AKCIÓ!! AppleCare+ biztosítás és kiterjesztett garancia - Apple hivatalos biztosítás - Számlával
- Enermax ETS-T50 W-ARGB (Brutál hiányos+hibás alkatrésznek csakis) INGYEN FOXPOST
- Apple Watch Series 10 45mm GPS, Újszerű, 1 Év Garanciával
- Igényes Gamer PC - Ryzen 5 9600X - 32GB DDR5 - 512GB SSD - Asus TUF RTX 3070 Ti - Vízhűtés - 850 táp
- ÚJ HP OmniBook Ultra Flip 14"OLED 2,8 K 120Hz - Ultra 7 256V - 16GB - 1TB - 2,5 év gari - MAGYAR
- AKCIÓ! Apple MacBook Pro 14 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- 10 GB-os RTX 3080 OEM
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest