Hirdetés
- Parci: Milyen mosógépet vegyek?
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- eBay-es kütyük kis pénzért
- MasterDeeJay: Harc a DDR5 árak ellen
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- Viber: ingyen telefonálás a mobilodon
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
-
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
-
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
- Tudjuk, de nem tesszük: a magyarok többsége nem törődik adatai védelmével
- Rogyásig pakolható a Cooler Master Cosmos szériás csúcsháza
- DOOM - The Dark Ages
- Motorola Edge 50 Neo - az egyensúly gyengesége
- A popóalávaló: DXRacer Drifting gamer szék tesztje
- Kerékpárosok, bringások ide!
- exHWSW - Értünk mindenhez IS
- Assassin's Creed: Valhalla
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Filmvilág
- További aktív témák...
- Xiaomi 13 256/8GB 2024
- Karácsonyi Akció ! PHILIPS Ambilight 48OLED759/12 4K OLED Smart 120Hz Gaming TV
- Felsőkategóriás AMD Gamer PC-Számítógép! Beszámítás! R7 9800X3D / 9070XT / 32GB DDR5 / 2TB SSD!
- Gamer PC-Számítógép! Csere-Beszámítás! I7 10700 / 32GB DDR4 / RX 6700XT 12GB / 512 SSD + 1TB HDD
- bontott működő alkatrészek
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, 100% Akkumulátor
- Gamer PC-Számítógép! Csere-Beszámítás! I3 14100F / RTX 3060Ti / 16GB DDR5 / 1TB SSD
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASUS H510M i3 10100F 8GB DDR4 120GB SSD 1TB HDD GTX 1050Ti 4GB Fractal Design 500W
- Lenovo Thinkpad T14 Gen 3, 1 Év Garanciával
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
{
ekkold
