Hirdetés

Új hozzászólás Aktív témák

  • Janos250

    őstag

    válasz Djstefan1848 #12634 üzenetére

    Nem másra ráerőltetni akarom a véleményem, csak egy kis figyelem felhívás céljából elmondom:
    Djstefan1848 kérdezi, de KFORboy problémájára is ez a legegyszerűbb megoldás:
    Hogyan lehet arduinot programozni úgy, hogy 2, vagy több párhuzamos loop folyamatot futtasson egymástól függetlenül ?
    Annak ellenére, hogy azt írod, hogy újonc vagy, nagyon jól látod a problémát. Több loop kellene párhuzamosan. Ez a párhuzamos szálak futtatása egymás mellett. Hogy van-e ez arduinoban? Erre még így nem lehet válaszolni, mert az arduino programozás is annyiféle, ahányféle a kontroller. A régi Atmel kontrollerekkel valószínűleg nehezebben oldható meg, de itt nem ér véget az arduino világ.
    Kezdjük egyből az egyik felső szeletén:
    Az ESP32 arduinojában van több lehetőség is, hogy hogyan lehet arduinot programozni úgy hogy 2, vagy több párhuzamos
    "loop" folyamatot futtasson egymástól függetlenül.
    Az egyik lehetőség a C++ párhuzamos szálai (thread). Ha nem várakoztatod őket egymásra, akkor nyugisan elvannak egymás mellett.
    Vagy a freeRTOS taskjait használod. Ez rugalmasabb. Ezekben a delay nem igazi delay, hanem átadja a vezérlést más várakozó tasknak.
    Az ESP8266-on is van valami, ami ennek a kisöccse, de már nem pontosan emlékszem, egy ideje már nem használom. Egymás mellett több PWM jellegű vezérlést kellett futtatnom, különböző, és folyamatosan változó, de elég hosszú, több szekundumos periódusidőkkel, de demo módon. Van egy lib, ami azt csinálja, hogy egy beállított idő elteltével megcsinál valamit. Előkotortam egy régi programot, ezt használja:
    https://github.com/esp8266/Arduino/tree/master/libraries/Ticker
    Azonkívül van ez a lehetőség is schedulerre:
    https://github.com/anmaped/esp8266-scheduler
    Ezt nem próbáltam. Ez elvileg Atmel procikon is biztosít
    párhuzamos futtatást, nem tudom, van-e valaki, aki használta már. Persze a Ticker is az arduino schedulerét használja.
    Lehet persze azt csinálni, hogy járogatunk körbe-körbe, és mindig megnézzük, hogy kell-e valakinek valamit csinálni.
    Mint már többször írtam, én szinte csak ESP32-t használok. Egy UNO ezer Ft, egy ESP32 kétezer. Ennyit igazán megér a kényelem, hiszen ami
    UNO-n megy, az ESP32-n is, de fordítva nem, tehát egyáltalán nincs szükségem UNO-ra.

Új hozzászólás Aktív témák