Mi az, hogy elfedheti? Őszintén szólva engem ilyen kérdésekben zavar a ködösítés. Te tervezed, te írod? Ha igen, akkor módodban áll jól megtervezni, minden lehetséges esetet végig diszkutálva, minden szálat elvarrva, nem elnagyolva, hanem minden esetre felkészülve korrekt módon kezelni a worst case eseteket is. Az a program, amelyik általában működik, néha meg nem, az egész egyszerűen rossz. Hibásan van tervezve.
Tapasztalatból mondom, hogy kellő távolságból nézve triviálisnak tűnő, egyszerűnek látszó feladatok sem megvalósítók egy laza szombat délután ebéd után, amennyiben alaposan körüljárod a kérdést, s végiggondolod, milyen esetek fordulhatnak elő. A valóság sokszor bonyolultabb, mint elsőre látszik, de ez nem baj. Viszont megéri a fáradságot, mert ha körültekintően tervezed a hardware-t, s írod rá a programot, akkor minden körülmények között működni fog.
Olyan a világon nincs, hogy a megszakítás elfedi az érkező adatokat, ha a folyamat mindenre kiterjedően meg lett tervezve.
Tekintsd úgy, hogy amikor software-esen valósítod meg például a soros illesztést, akkor lényegében egy intelligens hardware-rel implementálod az RS-232/422/485 interface-t. Ennek lehetnek korlátai például adatátviteli sebességben, de akkor ennek utánaszámolsz, méretezed, s tudod, melyek a korlátok, s így specifikálod a feladatot, ezen korlátok figyelembevételével használod majd a berendezést.
Mondom, minden csak elhatározás, döntés kérdése. Csak az működik bizonytalanul, amit fél szívvel, igénytelenül valósítottak meg, innen-onnan összeollózott félmegoldások egybelapátolásával. Lehet kártyavárat építeni, de a rendszer bizonytalansága nem a software-es megoldás létjogosulatlanságát igazolja, hanem a berendezés megvalósítójának igénytelenségét és hozzá nem értését.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE