Fórum témák

» Több friss téma
Fórum » PS/2->LPT billentyűzet
 
Témaindító: Dave87, idő: Márc 11, 2010
Témakörök:
Lapozás: OK   1 / 1
(#) Dave87 hozzászólása Márc 11, 2010 /
 
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.
(#) potyo válasza Dave87 hozzászólására (») Márc 11, 2010 /
 
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?
(#) Dave87 válasza potyo hozzászólására (») Márc 11, 2010 /
 
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?
(#) potyo válasza Dave87 hozzászólására (») Márc 11, 2010 /
 
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.
(#) Dave87 válasza potyo hozzászólására (») Márc 11, 2010 /
 
É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.
(#) Hp41C válasza Dave87 hozzászólására (») Márc 11, 2010 /
 
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
Következő: »»   1 / 1
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem