Hirdetés

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

  • KFORboy

    senior tag

    Újra nekiugrottam a keresési körnek, átmentem azokon is amiken korábban, hátha elkerülte figyelmem valami, valamiről megfeledkeztem.

    Valószínűleg igen...

    Mert a "millis" parancs ad lehetőséget számolgatni a bekapcsolás óta eltelt idővel illetve még lehet játszani a belső real time clock-al is... Periódus beállítás ami megad egy értéket, hogy mennyi időnként countoljon, ezeket meg ugyebár gyűjti a dedikált helyére amíg túl nem csordul (kb 50 nap)
    Periódust ugyebár lehet módosítani, hogy pl 4 másodpercenként számoljon, adjon +1-et, countolkon.
    Ezeket meg a működési frekiből (pl 8Mhz -es tiny85) meg a bit táblázat tól-ig értékek, megadható számok keretén belül matekozhatod ki.

    Az eltelt idő értékekre meg parancsokat oszthatsz ki.
    Legjobb tudásom szerint arduinoval nincs Multitasking, de lehet ezen módszerrel relatív hasonlót szimulálni.

    Ugyan így szoktak egyszerű "órát" is kidobni a kijelzőre.
    A kért X érték eléréseikor +1 adódik egy integerhez (? asszem így nevezünk egy, a loopban elhelyezett valamit amit aztán definiálunk egyéb valamivel vagy fizikai értékkel vagy hardverrel, pl.:
    time = millis();
    if (time >= 1000) {
    másodperc = time/1000;
    if (time >= 60000) {
    perc = time / 60000;

    és így tovább, illetve a definiált valami számításakor az osztandó érték, a szám elé ha bedobok egy % -jelet, akkor kerekít, azaz nem bolondul bele ha 7-es értékenként countol +1-et és 10-esével jön be az érték, akkor +1 -et countol mett 10/7=1 és a maradék 3-at "eldobja"

    Adott időpontokra be lehet szúrni ugyanígy egyéb parancsokat is.

    Sőt, a real time clock vagy micsoda különleges parancsaival van egy relatív multitasking okosság asszem, erről van videója GreatScottnak, (uC Timers)
    a uC dedikáltan erre kitalált lábain lehet ezekkel brillírozni hogy ha nem csak "óraként" használod hanem tovább gondolva periódikusan fűzöl parancsokat hozzá.

    Van lehetőség olyanra is, hogy hivatkozás a legutóbbi ilyen időhöz kötött parancsra... Pl annak értékére... Ezzel nem csak helyet spórolva a flashből, de még egyszerűsítve is, hogy ha már nem a parancs sorrend hanem az idő az új gerince a rendszernek, akkor ne legyél totál megkötve is ugyanígy és minden parancsot kötelező legyen a pl "millis" által eltelt idő valamilyen értékéhez igazítani, illetve így nem megbecsülhető változókat is tudsz parancsba igazítani, hogy tovább vigye/dolgozzon vele például.

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