Fórum témák
» Több friss téma |
Sziasztok!
Keresgéltem már a problémámra itt is választ, de konkrétan az én bajomra nem találtam megfelelő topicot ezért nyitottam ezt... Barangolva a Guglin találtam egy ilyet: PS/2 - LPT emulator Kérdésem az lenne, hogy szerintetek ez működne-e? Továbbá, az a két 470 Ohm-os ellenállás kell-e? Az én esetemben ez a billentyűzet egy saját progival "működtetve" bizonyos hangok (szpotok, hangeffektek) lejátszásában lenne segítségemre... A válaszokat köszönöm előre is! Üdvözlettel: Dávid.
Elméletileg nincs akadálya. A párhuzamos port tud nyitott kollektoros kimenetként működni, áramkörileg korrekt megoldás építhető. Szoftveroldalról lehetnek problémák, ha nem győzzük elég gyorsan olvasni a portot, mivel az órajelet a billentyűzet adja, nem a PC. A billentyűzetek 10-20kHz közötti sebességű órajelet használnak, tehát a portot ennek a kb. három-négyszeresével kell tudni olvasni, ami lehet, hogy nem lesz egyszerű...
Ja, az a két ellenállás kell. De ugye nem mondod, hogy ez problémát okoz?
Nem okoz problémát dehogy, csak biztos akartam lenni abban, hogy az kell-e oda vagy sem mivel nem vagyok túlságosan jártas az elektronikában
Köszönöm a választ, hamarosan ki is próbálom A következő kérdés pedig a válaszodból adódik, Delphiben tervezem a program megírását, kérdés, hogy elég lesz-e egy Timer (1ms frissitéssel) a port olvasásához, vagy valami "gyorsabb" megoldás kell?
Timer szerintem alkalmatlan, az maximum 1kHz-et tud. PIC, EEPROM, stb. égetőket Queryperformancecounter használatával szokás időzíteni (keress rá google-n), ha hardverfüggetlenül akarjuk csinálni az időzítéseket. Csak ezt meg nem lehet megszakításnak betenni, mint a Timer-t, hanem végtelen ciklusban kell vizsgálni, az meg állandóan terheli a processzort. Esetleg egy olyan megoldást tudok elképzelni, hogy állandóan olvassa a program a portot, és a queryperformancecounter segítségével méri a két olvasás között eltelt időt, és ebből számolja, ki hogy jött-e be adat vagy sem. Így elvileg ha több processz is fut azonos prioritással, akkor is fog jutni ennek az egynek elegendő processzoridő.
De én inkább mikrokontrollert tennék a billentyűzet jelének vételére, és abban el lehet helyezni némi pufferelést is, és azzal küldeném át soros porton a gépre a vett kódokat. Soros porton sokkal stabilabban meg lehet oldani a kódok olvasását, mint szoftverből kezelni a párhuzamos portot.
Értem. Utánanézek ennek a Queryperformancecounternek aztán ha azzal nem megy akkor kitalálok valamit...
Az utóbbi megoldással az a bajom, hogy sík hülye vagyok hozzá... Ezért próbáltam valami "egyszerűt" kitalálni.
Szia!
Bontott alaplapokban van egy 8742 "jogutód", amit a régi ill a PS2 billentyűzetet kezeli (meghajtás szempontjából azonosak). A szabványos billentyűzet illeztési feladatot látja el, a 80x86 buszára illeszkedik. Azt a 8 bites párhuzamos felületet a paralell porttal el lehet játszani. A nagy sebességű órajel generálás, adatfigyelés ennek a kontrollernek lenne a feladata, a belső fifo tárolójába gyűjti a gombnyomások kódjait. Csak egy kvarc, egy 7406 és a két 470 ohm felhúzó ellenállás kell hozzá... Sajnos dip40 tokozású... Szia |
Bejelentkezés
Hirdetés |