Ja, hasonlót én is levezettem, hogy mintha az összes dolog (bill/eger/joy) mind ilyen lenne, hogy valamit az EP beállít, és ha már beállította (és ne gyere megint a busszal, meg wait -okkal, mert egy sima külső joy csatin nincs olyan, és a probléma viszont ott is fennáll), szóval ha meg már beállította, akkor Zozo szerint elméletben akár 11 rohadt cikluson belül olvasni akarhatja a választ, addigra ott kell lennie ... és ez a visszatérő jelenség, úgy tűnik nem egy mikrokontroller feladata ... ehhez kéne még neki, valami bufferelt periféria szerű, ami képes az EP csatlakozóinak nagyon gyorsan felelni, és azt a perifériát a mikrokontroller az ő komótosabb ütemében frissítgethesse ... ne kelljen 11 mikroszekundumokon belül ugrálnia ...
Még az is lehet, hogy ha megnéznénk a shield -eket, akkor találnánk köztük ilyet ...
De ha igen, ha nem, úgy tűnik, hogy maga ez az ultragyors reakció ez nem egy mikrokontrolleres feladat, mert erőltetve lehet csak kivitelezni ...
Egy ps/2 vagy usb adatcsomag értelmezése, molyolgatás az mikrokontrolleres feladat, de a jeleket ilyen mikroszekundomos nagyságrenddel frissíteni, valami külső kérelem hatására, az úgy tűnik nem mikrokontrollereknek szánt feladat ... mert ha az lenne, akkor lenne rá funkció (mellesleg simán lehet h van, csak nem tudok róla), nem pedig kínlódva, "éppenhogy" kelljen megvalósítani ...
Ezt a gondolatmenetet folytatva:
Az is lehet, hogy azért nincsenek nagyon ilyen funkciók a mikrokontrollerekben (vagy hát legalábbis ebben az AVR -ben, amit itt babráok),
amik ugye arról szólnának, hogy valami pufferbe/pufferből tároljon le/szolgáljon ki valami biteket a cucc nagyon gyors válaszidővel reagálva valami kinti eseményre,
szóval azért nincs,
mert egyrészt tulajdonképpen van a mindenféle kommunikációs buszok formájában,
másrészt pedig ilyen kombinációból, mint ami nekem kéne a ps/2 beolvasáshoz, ill. az EP -re kiírásokhoz, abból túl sokfajta lehet,
figyeljen X,Y láb ilyen meg ilyen kombinációjára, és ha akármi, akkor olvassa be Z és W láb tartalmát, és akkor azt mondjuk lerakhatná,
és várhatná hogy majd prociból kiolvassa a user kód ...
Szóval nekem az jutott eszembe, hogy egy ilyen AVR chip (és nyilván vannak sokkal olcsóbbak is, pld. rohadtul nem kell USB legyen benne, ebben meg van) már 50 -es szériában is hozzáférhető 3 dollár környékén is ...
Szóval valszeg nagyon kis memóriás, USB nélküli, de akár ugyanígy 16 MHz -es mikrokontrollereket még sokkal olcsóbban lehet venni, és lehet dedikálni a feladatoknak őket ...
Egymás közötti kommunikációra meg már ott vannak a szintén hardver gyorsított fínom kis buszaik ...
Szóval az én (és valószínűleg általános) problémáimra,
mikor nagyon gyorsan kell reagálni valamit külső dolgokra (amik viszont nem ismerik az adott mikrokontroller hardver támogatott standard buszait),
arra valszeg az lehet a válasz, hogy dedikáld a mikrokontrollert az adott "gyors reagálású" feladatnak ...
Itt az én esetemben az lenne tehát valószínűleg a nem (minnél kevésbé) hekkelős, tökölődős hozzáállás,
hogy a PS/2 bitfolyamát egy dedikált mikrokontroller olvasná be, aki semmi mást nem csinálna, egyetlen megszakja a PS/2 -re koncentrálna,
és az EP -re figyelést is egy saját mikrokontroller végezné, mely csak arra figyelne, hogy az EP ki legyen szolgálva,
és a harmadik mikrokontroller lenne az, ami most van, az már ilyen nagyobb memóriás, fullextrásabb, ami a standard buszokon elkéri/odaadja az adatokat a gyors kiszolgálásokat végző mikrokontrollereknek ...
Tehát az valahol egy "hiba", hogy én egyetlen mikrokontrollerrel akarom megoldani a dolgot ...
Hiba alatt itt most azt értem, hogy sokkal nehezebb lesz kicsikarni így a rendszerből, mint úgy lenne, ahogy itt írtam ...