Hirdetés

Keresés

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

  • Janos250

    őstag

    válasz lanszelot #20424 üzenetére

    Kíváncsiságból megnéztem ez a MultiFuncShield-et.

    Sikerült olyan példát találnod, amire azt írják, hogy ÍGY NE!

    Itt is leírták már párszor, hogy az isrCallBack() legyen a legrövidebb. Erre itt egy példa, ami mindent vizsgál, mindent csinál az ISR-ben. Persze, szegény ember vízzel főz, szegény kontrollerhez bonyolult szoftvert írunk, de a mai kontrollereken azért ennél már többet tudnak a hardverek, nem kell így csinálni.
    Továbbá, ha már így csinálták meg, illet volna egy olyan függvényt beletenni, ami lekérdezve megmondja, hogy befejeződött-e az előző feladata, azaz jelen esetben beep-je, hiszen ez az ISR rutin a dolog jellegéből adódóan nem reentrant, azaz nem olyan, hogy futás közben egy másik szál megszakítsa, és újra elkezdje végrehajtani, majd miután ő befejezte, visszakerül a vezérlés az eredetire.
    Itt persze alapfilozófiák ütköznek: mivel kezdjen a kezdő? Egyszerű, régi kontrollerrel, vagy modernebbel. Persze - némi artistamutatvánnyal - a régin is megcsinálható hasonló dolog, mint a korszerűbbön, de ez holt tudás lesz, mert idővel úgyis korszerűbbre áll át.

    Gimnázium első osztályában politechnika órán én is készítettem fémfűrésszel, és kézi reszelővel kalapácsot. Akkor ez egy alapnak számított. Ma inkább azt mondanám, hogy szívatás volt. Még kb 20 évvel ezelőtt is hallottam valakitől, hogy volt, ahol még akkor is csináltatták. Meg lehet persze így is csinálni, de CNC géppel könnyebb.

    Én annak a híve vagyok, hogy kezdő is a korszerűbb dolgokkal kezdje, hogy ne holt információkat tanuljon meg, mint ez az interrupt kezelés a MultiFuncShield programjában, mert soha nem fogja így csinálni a későbbiekben. Ha csak nem mazochista.

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