PS2 hiiri ja BASIC Stamp tietokone
Colin Fahey
1. Johdanto
Tässä artikkelissa kuvataan, miten PS/2 hiirtä voidaan muissa jonka BASIC Stamp tietokone.
Tämä etsintä on epävirallinen.

Sisätilat on vanhanaikaista (muutot pallo) tietokoneen hiiri: "Microsoft Intellimouse" (I korvasi optisten antureiden kanssa pitkiä lankoja.)
Hiirillä on kahdenlaiset: "X" ja "Y". Kun hiiri on siirtynyt "horisontaalisesti," "X" pyörän sisällä hiiren vaihtuu. Kun hiiri on siirretty "vertikaalisesti" (kun pinta-ala), "Y" pyörän sisällä hiiren vaihtuu. Mielivaltaisuuden hiiren liikettä, "X" ja "Y" pyörät liikkuvat mukaan "vaaka-ja pystysuoraan" osia hiirellä esitystä.

Optinen interruptor pyörien sisällä hiirtä
Huomaa reiät pyörien sisällä hiiri. Kun pyörä pyörii, infrapunavaloa (IR) valo, joka IR Light Emitting Diode (LED) on keskeytynyt useaan otteeseen, vahvistetaan suhteessa siihen, mitä oli pyörän kierto. Näin ollen hiiri tietää, kuinka monta "lisäystä" (kutsutaan myös "punkkien)" hiiri-akselilla on siirretty tietyn ajan kuluessa.
Määrittäminen suuntaan liikkuvuus edellyttää käyttö 2 valovastaanotinta, joka sijaitsee hyvin lähellä toisiaan, samoin akseliin rinnan liikkuvuutta pyörää. (Molemmat anturit ovat yhden 3-piikkinen komponentin kuva alla).

Mouse IR valosensori (on kaksi IR ilmaisimet mukaan yhteen pakettiin)
The center pin-paketti on myönteinen keräilijän jännite;
Vasemmalle ja oikealle tapit ovat vasemman ja oikean anturin tuotannon päästöjen aiheuttajat.
Olkaamme nimi kahden anturit tai pakkauksen "A" ja "B". Oletetaan, että pyörä on aluksi kiertävä kulma sellainen, että IR valossa on estetty pääsemästä molemmat anturit.
Koska pyörä pyörii, IR valossa, että päästöjen aiheuttaja lopulta voi läpäistä aukko pyörän ja saavuttaa yksi kaksi anturia, kuten sensori "A". Jos pyörän jatkuu pyörivät vuonna samaan suuntaan, lopulta toinen anturi, "B", pystyy saanut IR valossa. Jos pyörän jatkuu pyörivät vuonna samaan suuntaan, lopulta IR valoa estetään pääsemästä anturi "A". Jos pyörän jatkuu pyörivät vuonna samaan suuntaan, lopulta IR valoa estetään pääsemästä anturi "B".
Näin ollen järjestys on:
(A,B): ..., (0,0), (1,0), (1,1), (0,1), ...
Jos pyörä pyörii toiseen suuntaan, 4-sekvenssi edellä esitetty on kääntynyt alkaen nykyinen tila.
Näiden kahden anturin signaaleja voimme määrittää määrä vuoroviljely, ja suuntaan.

The piirilevy, Microsoft Intellimouse
Jotta voitaisiin ymmärtää paremmin, miten hiiren ohjauspiirit tulkitsee valon anturit ja yhteyksissään henkilökohtaisen tietokoneen (PC) (via PS/2 signaaleja), olen tutkinut piirilevy.
Mikrosiru on seuraava nimi painettu sille: SPCP05A.
Etsintää Internetistä sana "SPCP05A" osoittaa, että siru on valmistanut yritys nimeltä "Sunplus Technology Co.". Tietoa "SPCP05A" mikrosiru voi saada kyseiseltä yhtiöltä.
Tässä ovat tekniset ominaisuudet, "SPCP05A" mikrosiru:
Seuraava kuva näyttää signaaleja nastoja, "SPCP05A (PS/2 3D mouse)" mikrosiru.

Signaaleja nastoja, "SPCP05A (PS/2 3D mouse)" mikrosiru
The "SPCP05A" on todella pieni tietokone! Se on ohje asetettu, ja RAM, ja ROM, ja sisäiset laskurit, jne. Itse asiassa, kuvaus, "SPCP05A" mikrosiru, antamien tietojen Sunplus Co. tuskin viittaa erityiseen käyttöön mikrosiru, "tietokoneen hiiri" piirejä. Tämä siru on monipuolinen mikrokontrolleri.
Olen opiskellut rata jälkiä, piirilevy, Microsoft Intellimouse muodostavat seuraavat lähentää kaavamaisen:

Approximate kaavamaisen, Microsoft Intellimouse (Minulta puuttuu pari kondensaattoria, mutta tämän kaavamaisen on lähes täydellinen.)
Bui Van Chu, Australia, lukea artikkeli ja lähetti minulle entistä täydellisemmin kaavamaisen, joka näyttää seuraavan kuvan.

The PS/2 hiiren kaavamaisen, lähetti minulle Bui Van Chu osoitteesta Australia
Piiri on hyvin yksinkertainen.
The hiiren painikkeet (vasen, keskimmäinen oikealla) mentävä suoraan tuotantopanoksista mikrosiru.
Kolme paria valovastaanotinta, (("X", "Y", "Z"), (horisontaalinen liikkuvuus, vertikaalinen liikkuvuus, ja keskellä hiiren pyörää)) lähettää signaaleja suoraan muiden tuotantopanosten-siru.
The PS/2 signaaleja DATA ja CLK (kellon) vastaavat myös I/O signaalien sirulle.
Ymmärsin, että kaavamaisen heti kun olen valmiiksi se (seuraavat jälkiä, piirilevy).
Yksi asia, en aluksi ymmärtänyt oli tapa, jolla IR LEDs oli liitetty mikrosirua (PIN-16: "PB1"), sen sijaan, että niiden kielteinen terminaaleja (katodi) yksinkertaisesti liittää suoraan kentällä. Tämä on tärkeää!
2. Ensimmäinen yritys hallita hiiren liikkuvuus
Seuraavat huomautukset viittaavat esitystä pitkin yhden akselin (kuten "X", tai horisontaalisia, akseli).
Ensimmäinen asia, josta olen yrittänyt oli menossa objektin välillä IR LED ja anturin pair - simuloida vaikutusta pyörivien pyörien kanssa hiiri. Tämä toiminut. Voisin aiheuttaa hiiren kursori liikkua näytön yksinkertaisesti siirtämällä esteen läpi IR valonsäteestä toistuvasti, samaan suuntaan.
Seuraava, olen poistanut 3-pin-anturi osittain hiiren piirilevy, ja niihin liitetyt johdot, piirilevyjen sijasta anturi. I manuaalisesti kytketty johdolla positiivisen jännitteen simuloida anturin toimintaa. I liitetty kaksi signaaleja valta mukaan seuraavan kaavan (sellainen, että "0" edustaa "pois," ja "1" "edustaa):"
(0,0), (1,0), (1,1), (0,1), ...
Tämä toiminut. Voisin siirtää hiiren kursori näytön tämän tylsiä kytkemiseksi ja katkaiset lankojen vuonna rakenteessa edellä on kuvattu. Peruutusvalaisimet rakenteessa osoitteesta nykyisen aseman järjestysnumero voisi siirtää kohdistimen menossa vastakkaiseen suuntaan.
Koska asiat olivat menossa niin hyvin, olen päättänyt liittää johdot, releet (valvoma RS-232). Tämä vaikuttaisi olennaisesti sallikaa minun tehdä, mitä tein kanssa irtonaiset johdot: yhdistä anturin signaaleja valta terminaalin tarkoituksenmukaisessa järjestyksessä. Ainoa ero on se, että ihmisen (minun) ei tarvitse tehdä tylsiä kytkemiseksi ja katkaisua.
Mutta ... se ei toimi!
Kun erä mukauttaa, vastuksia ja kondensaattoreita, jne. Tein outo löytö: Jos olin koskettamasta tiettyjä terminaalit rata, se toimi täydellisesti! Ratkaisu tähän mysteeri näkyy seuraavassa osassa.
3. Infrapunasäteilystä (IR) valossa on mukautettu
Kun jotkut turhauttavaa kokeita minulla oli uusi ajatus: IR valossa voisi olla pulsing on korkea taajuus, ja siru voisi odottaa saavansa tämän taajuus. Constant valossa (tai minun simuloidun jatkuvasti sensor output) voisi hylättävä. Olin hieman ymmälläni siitä, että ympäristön valoisuuden, halogeeni floor lamp oli hyväksyttävää, mutta tiesin, että jopa hehkulamput ovat havaittavissa mukauttaminen.
Olen yrittänyt pulsing yksi IR LED korkealla taajuudella ja estää anturit mukaan odotettavissa oleva malli. Se toimi!
Se oli se! The IR LEDs in the mouse piirilevy on oltava vilkkuvalo, suurella nopeudella, ja mikrosiru täytyy odottaa tämän vilkkuva lisäksi suhteellisen alhainen valon keskeytyksettä, pyörivien pyörien (reikää).
By pulsing että IR LEDs, ja odottaa tämän pulsing, joka vapautetaan anturin signaali, siru voi hylätä kaikki ambient IR signaaleja puuttumatta hiiren toimintaa. Esimerkiksi hajaheijastukset valossa muista (vakio) IR lähteistä ei häiritsevät hiirelle.
I kytketty audio vahvistin-anturi tuotos, ja sitten minä anna anturin toteuttaa ilman valoa valettu minun halogeeni floor lamp. Olen kuullut erilliset sävy (60 Hz). Kun olen himmennetty valaisinta, sävy kasvoi heikottaa, ja lopulta pysähtyi, kun valo oli pois päältä. Niinpä tämä anturi helposti hakkujen Up The 60 Hz modulaatio, hehkuvaan sipulin minun halogeeni floor lamp!
Katse, nyt kaavamaisen, PS/2 hiiren piirilevy, merkitys, IR LEDs on kytketty sellaiseen pin-mikrosiru (sen sijaan, että direct current) on ilmeinen. Mikrosirua hallitsee vilkkuva, IR LEDs kautta I/O PIN, ja mikrosiru voi korreloi aikovansa flash, ID LEDs kanssa sai anturi tuotantopanoksia ja näin ollen hylätä kaikki hajaheijastukset signaaleja (johtuen vilkkumaton IR valo). (Tosin, korrelaatio ei ole tarpeen. Yksinkertaisesti havaitsemiseksi vähimmäismäärä vilkkuva laskee voisi olla kynnys hyväksyä sensor input).
4. IR antureille, joissa on kaistanpäästösuotimen suodattimet
Löydät erityispainos IR anturit, pakattu transistorin kaltainen lomake, jossa on kolme johtaa, jotka on "viritetty" erityisiä moduloidaan IR valon taajuuksilla (esim. 38 kHz).

Tuned IR valosensori (suurin herkkyys 38 kHz valossa modulaatio)
Kaistanpäästösuodatin ohjauspiirit on sisältyvää laitetta yhdessä IR valokuva-transistorit.
Joten, IR LED voidaan yleensä pulssi on usein 38 kHz niin, että anturi saavat valoa ja antaa sähkö-signaalin mennä anturi-lähtöihin.
Välittää tietoa, ottaen huomioon, että IR LED voi keskeyttää milloin on suhteellisen alhainen (esim. 1 100 kertaa sekunnissa). Tämä matalataajuisen pulsing on yhdessä tasaisen korkea-taajuus pulsing; eli matalataajuisen pulsing voidaan pitää vaihdella korkea-taajuus pulsing. The high-taajuus pulsing on kuin "harjoittaja aalto," johon tiedot signaalia (suhteellisen matala-frequency modulation) on tehty.
Olen kuitenkin varmistanut, että IR anturit, Microsoft Intellimouse ei ole tällaista mukauttamista suodatus. Kuitenkin piiri ei edellytä, että IR valossa voidaan mukauttaa joitakin tavalla, sen lisäksi, että matalataajuisen keskeytykset, valoa pyörän kanssa reikiä.
Seuraavat hahmotelma havainnollistaa eron anturin signaaleja jatkuvasti IR LED valoa ja vilkkua IR LED valoa eri vaiheissa hiiren pyörää kääntämällä.

Sensor output signaaleja jatkuvasti IR valossa tapauksessa ja vilkkuva IR valossa.
5. Simulointi hiirtä käyttäen BASIC Stamp tietokone
The "BASIC Stamp 2" tietokone on riittävästi ohjelmoitavuus toteuttaa PS/2 protokollaa. Näin ollen "BASIC Stamp 2" tietokone voidaan liittää suoraan sen PS/2 satamassa henkilökohtainen tietokone (PC) ja voi matkia yksi PS/2 hiirtä tai näppäimistöä.
5.1 The PS/2 protokolla
Vuonna vuosina 1998 kautta 2003, suurin osa henkilökohtaista tietokonetta oli PS/2 satamat, näppäimistö ja hiiri.
The PS/2 satama on 4 signaaleja: (1) CLOCK; (2) DATA; (3) +5V; (4) GROUND.
The PS/2 portti mahdollistaa laitteiden lähettää tiedot vastaanottavan, ja vastaanottavan voi lähettää tietoja laitteista. Kaikkien osapuolten on PS/2 portti (yleensä vain laitteen ja vastaanottavan) on jakaa signaaleja ja on havaita, jos toinen osapuoli on tällä hetkellä käyttävät signaaleja.
Miten signaalit jaetaan? A-signaalia (kuten CLOCK tai DATA) on yleensä "kelluvat" suuret, mikä tarkoittaa, että signaali on kytketty positiivinen jännite kautta vastus, joilla on suuri vastus (esim. 4 kilo-Ohms). Täten signaali on tulkittava siten, looginen "korkea" kaikki kuuntelevat. Mikä tahansa osapuoli voi vetää linjan alhainen (via TTL logiikan), kun osapuoli aikoo lähettää tietoja. Kun osapuoli päällysteiksi lähettämällä packet, se antaa mennä, signaalit loputtomiin, joten ne float korkea uudelleen.
Voit lähettää tiedot laitteen (esim. hiiren tai näppäimistön) henkilökohtaisen tietokoneen (PC), sinun tulee lähettää tiedot 11-bittinen paketteina, jotka koostuvat seuraavista bittiä: (1) start bit ("0"); (2) 8 data bittiä (LSB ensin); (3) parity bit "(pariton" pariteetti); (4) stop bit "(1)." Huomaa, että "pariton pariteetti" on, kun kokonaismäärästä "1" bittiä, tietojen bittiä ja parity bit yhdistetty on pariton määrä.
Seuraava kaavio kuvaa lähetyksen yhden ainoan data packet:

PS/2 pöytäkirja: laitteen isännäksi (PC) packet
The DATA linja olisi vahvistettava asianmukainen arvo ennen kuin CLOCK linjan alhainen. The DATA arvo olisi edelleen asetettava kunnes CLOCK linja on palannut takaisin korkealle. Kun CLOCK linja on vahvistettu, on korkea, DATA arvo voidaan muuttaa seuraavan bittinen arvo.
Tyypillinen kellon nopeus on suhteellisen hidasta, noin 10 kHz, 17 kHz. Tämä on 100 microseconds alas 70 microseconds kunkin kellon ajan.
Tämän skenaarion mukaan vastaanottavan (PC) tietojen lähettämisen laite on samanlainen kuin laite lähettää tiedot vastaanottavan, mutta kaikissa tapauksissa laite valvoo CLOCK signaali aikana datasiirto itse. Myös tietojen bittinen lähetetään vastaanottavan (kun laite asetetaan CLOCK matala) olisi lukitussa kun laite antaa CLOCK signaali esittää siirtymistä korkea.
Internet-haku tuo esille monia kuvauksia PS/2 signaaleja ja tiedot-protokollaa.
5.2 PS/2 hiiren tiedot rasiaa
Kun tietokone käynnistyy, käyttöjärjestelmä alkaa ja lopulta yhteyksissään hiirtä määrittää, minkä tyyppinen hiiri. By default hiiren toukokuu käyttäytyä kuin julkinen PS/2 hiiri. Kuitenkin, jos käyttöjärjestelmä päättää, että hiiri on oikeastaan "3D PS/2" hiiri (esim. hiiren kanssa pyörä), se voi kertoa hiirtä, siirtyvätkö ne 3D PS/2 hiiri-protokollaa.
Kun siirrät hiirtä tai paina tai vapauttamaan hiiren painikkeet, hiiren ohjauspiirit lähettää tiedot vastaanottavan (PC), mikä osoittaa, missä tilassa muutoksia on tapahtunut, koska edelliseen merkintänä.
Rinnakkaisvalmisteita PS/2 hiiri lähettää seuraavat kolme rasiaa, isäntä:
------------------------
D7 D6 D5 D4 D3 D2 D1 D0 (The D0 bit (LSB) is sent first)
------------------------
(1) YV XV YS XS 1 0 R L (overflow, sign, buttons)
(2) X7 X6 X5 X4 X3 X2 X1 X0 (X movement; -128 to +127)
(3) Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 (Y movement; -128 to +127)
L = Left Button State (1 = pressed down)
R = Right Button State (1 = pressed down)
XS = Direction of X movement (1 = LEFT)
YS = Direction of Y movement (1 = UP)
XV = Overflow of X movement value (1 = X overflow occured)
YV = Overflow of Y movement value (1 = Y overflow occured)
X7,...,X0 : X movement; 8-bit 2's-complement signed byte (-128 to +127)
Y7,...,Y0 : Y movement; 8-bit 2's-complement signed byte (-128 to +127)
Here are examples of data sent to the host (PC):
------------------------------------------------
(The least-significant bit of each data byte is sent first.)
Move Left 1 unit : 0x18, 0xFF, 0x00
Move Right 1 unit : 0x08, 0x01, 0x00
Move Down 1 unit : 0x28, 0x00, 0xFF
Move Up 1 unit : 0x08, 0x00, 0x01
Press Left Button : 0x09, 0x00, 0x00
Release Left Button : 0x08, 0x00, 0x00
Press Right Button : 0x0C, 0x00, 0x00
Release Right Button : 0x08, 0x00, 0x00
Se on hyvin yleinen on "3D PS/2" hiiri (esim., hiiren pyörää, että toimii myös keski-painiketta). Tällainen hiiri lähettää neljä tietojen rasiaa, vastaanottavan (PC).
------------------------
D7 D6 D5 D4 D3 D2 D1 D0 (The D0 bit (LSB) is sent first)
------------------------
(1) YV XV YS XS 1 M R L (overflow, sign, buttons)
(2) X7 X6 X5 X4 X3 X2 X1 X0 (X movement; -128 to +127)
(3) Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 (Y movement; -128 to +127)
(4) Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0 (Z movement; -128 to +127)
This is very similar to the generic PS/2 mouse,
with a few additions:
M = Middle Button State (1 = pressed down)
Z7,...,Z0 : Mouse wheel movement; 8-bit 2's-complement signed byte
(The Z value is forced to a range of -8 to +7)
5.3 Ensimmäinen piiri jäljittelemiseen PS/2 hiiri
Seuraavat kaavamaisen oli ensimmäisenä työpäivänä tekniikkaa saan "BASIC Stamp 2" tietokone lähettää PS/2 hiiren tiedot vastaanottavan (PC).

Kaaviomaiset-piiri mahdollistaa BASIC Stamp tietokone lähettää PS/2 rasiaa, vastaanottavan (PC).
Huomaa, että tämä piiri sähköllä isolaatit minun BASIC Stamp tietokoneellesi vastaanottavan (PC) tietokone. Huomaa myös, että tämä piiri on vain täytettävä sähkö-vaatimukset PS/2 datasiirto (laitteen isännäksi). Näin ollen voin lähettää PS/2 näppäimistö viestejä tässä sama piiri, jos minulla plug in, PS/2 näppäimistön porttiin vastaanottavan (PC)!
Koska vastaanottaa signaaleja on yleensä ei-invasiiviset (eli kuuntelu ei häiritse sähköisiksi signaaleiksi), ainoa asia tarpeen, jotta "BASIC Stamp" tietokoneen vastaanottamaan PS/2 CLOCK ja DATA signaaleja on suora yhteys näiden signaalien muihin BASIC Stamp I/O nastoja (määritetty olla tuotantopanokset). Haluan kokeilla jonkinlaista puskurointi - mutta varmasti ei voi käyttää opto-isolator suoraan, koska se esittää kuormitus "irralliset" signaalit (siis "uppoamisen" heille!). Voisin käyttää +5V valtaan puskurina, niin sitten käyttää puskuria tuotos ajaa opto-laitteiden, että viime kädessä lähettää signaaleja, BASIC Stamp I/O PINS (määritelty tuotantopanokset).
Seuraava kuva osoittaa minun BASIC Stamp 2 tietokone liitetään virtapiirin vastaavia kaavamaisen edellä.

BASIC Stamp 2 tietokoneeseen liitetyllä PS/2 hiiren sataman kautta opto-isolator circuit.
Seuraavat BASIC Stamp 2 ohjelma, joka on kirjoitettu, PBASIC ohjelmointikieli, oli minun ensimmäinen onnistunut yritys hallita PS/2 hiiren kautta BASIC Stamp 2 tietokone.
Ohjelma yksinkertaisesti tekee hiiren kursori liikkua pitkin pieniä sinipunainen poikkiviiva.
'====================================================================
'{$STAMP BS2} 'STAMP directive (specifies a BS2)
DIR0 = %1 'Set pin 0 to OUTPUT
DIR1 = %1 'Set pin 1 to OUTPUT
OUT0 = %0 'Set DATA line high (pin low)
OUT1 = %0 'Set CLOCK line high (pin low)
tempData VAR BYTE
tempParity VAR BYTE
'--------------------------------------------------------------------
MainLoop:
tempCounter VAR WORD
FOR tempCounter = 0 TO 10
tempData = $28
GOSUB TransmitPacket
tempData = $01
GOSUB TransmitPacket
tempData = $ff
GOSUB TransmitPacket
tempData = $00
GOSUB TransmitPacket
PAUSE 100
NEXT
FOR tempCounter = 0 TO 10
tempData = $18
GOSUB TransmitPacket
tempData = $ff
GOSUB TransmitPacket
tempData = $01
GOSUB TransmitPacket
tempData = $00
GOSUB TransmitPacket
PAUSE 100
NEXT
GOTO MainLoop
STOP
'--------------------------------------------------------------------
TransmitPacket:
GOSUB ComputeParity 'First, compute parity
tempData = ~tempData 'Invert data bits
tempParity = ~tempParity 'Invert parity bit
'==== Start Bit ====
OUT0 = %1 'Set data line low (output high)
PULSOUT 1, 25 ' Pulse line 1 for (25*2) = 50 usec
'==== Data Bits ====
OUT0 = tempData.BIT0
PULSOUT 1, 25
OUT0 = tempData.BIT1
PULSOUT 1, 25
OUT0 = tempData.BIT2
PULSOUT 1, 25
OUT0 = tempData.BIT3
PULSOUT 1, 25
OUT0 = tempData.BIT4
PULSOUT 1, 25
OUT0 = tempData.BIT5
PULSOUT 1, 25
OUT0 = tempData.BIT6
PULSOUT 1, 25
OUT0 = tempData.BIT7
PULSOUT 1, 25
'==== Parity Bit ====
OUT0 = tempParity.BIT0
PULSOUT 1, 25
'==== Stop Bit (high) ====
OUT0 = %0 ' pin low is DATA high
PULSOUT 1, 25
PAUSE 1 ' Necessary? Provides 1 msec gap between packets...
RETURN
'--------------------------------------------------------------------
ComputeParity:
tempParity = $01
tempParity = tempParity + tempData.BIT0
tempParity = tempParity + tempData.BIT1
tempParity = tempParity + tempData.BIT2
tempParity = tempParity + tempData.BIT3
tempParity = tempParity + tempData.BIT4
tempParity = tempParity + tempData.BIT5
tempParity = tempParity + tempData.BIT6
tempParity = tempParity + tempData.BIT7
tempParity = tempParity & $01
RETURN
'====================================================================
Tämä ohjelma toimii täydellisesti. Annan se kestää tunnin, ja se moitteetta tehty hiiren kursori liikkua kahden tarkat sijainnit ruudulla. Tämä on se, mitä olin etsinyt: tarkka valvonta hiirtä niin, että voin olla vuorovaikutuksessa ohjelmistoja.
Haun jälkeen Internetin I havaittiin, että joku muu on käyttänyt BASIC Stamp tietokoneen käyttöliittymä PS/2 (simuloiden näppäimistö). Tämä henkilö käytti PBASIC ohje SHIFTOUT käsitellä CLOCK ja DATA signaaleja, mikä on todella suuri. Tämä tekisi minun "TransmitPacket" Aliohjelma paljon lyhyempi, ehkä 5 riviä koodia yhteensä!
Olen myös nähnyt, että muut ihmiset käyttää TTL puskurien, tuotantopanoksiin liittyvät suoraan PS/2 signaalit (CLOCK ja DATA), ja lähdöt kytketty suoraan tappien että mikro-siru. Kun sama piiri, tuotannon linjat, mikro meni suoraan peruskokoonpanon tappien transistorit, jotka olivat niiden kerääjien suoraan kiinni PS/2 signaaleja. Kaikki tämä suora kytkentä eri piireistä näyttää huono ajatus minulle, jottei yksi piiri Jugoslavian liittotasavallan muille. En tiedä, mitä olin tehdä, jos olen paistettu, PS/2 sataman minun PC. Osta uusi emolevy, I guess! Tekosyynä päivitykseen. En ole sitä mieltä, että PS/2 portti emolevyn sulaisi on todennäköistä, mutta tein heti shutdown minun tietokone, kun olen vahingossa lyhyen circuited että +5V ja GROUND signaaleja menossa, PS/2 hiiri. Ehkä se on ominaisuus! Voisin lisätä uuden painiketta hiiren että vain oikosulut hiiren valtaa instant shutdown, PC. ;-)
Tässä on linkki tietojen käyttöä koskevat SHIFTOUT varten PS/2 pöytäkirja:
Etsi seuraavasta linkistä:
KEYBTST.ZIP gives a very basic program for the parallax
-----------
BASIC stamp II, to send key-codes to the PC's keyboard port.
It also gives a write-up of the XT and AT keyboard interfaces
(although IMO some details could be wrong / different to the
keyboards I've looked at).
Paikallisesti-välimuistissa oleva kopio tiedostossa:
keybtst.zip
10655 tavua
MD5: c5667557f96db53fb878bd11bfbe4f74
Seuraavan linkin tarjoaa lisää tietoja PS/2 hiiren rajapintaa: