Tak jsem koukal na ten převodník PS2 na Sapi a narazil jsem na záhadu s kódovací tabulkou. Jak známo, scan kód PS2 klávesnice je jedno až vícebytovej a každej byte sestává z série 11 bitů, tedy 11 pulsů hodin, ke kterejm jsou přidaný bity kódu na datovým drátu. První bit je start, pak je 8 bitu dat, pak parita a stop. Scan kódy jsou popsaný v tabulkách formátem 0XXX hex a je do nich zahrnutý kromě dat i parita, start a stop bit. U toho převodníku se příjem scan kódu startuje start bitem, kterej se ale zahodí, pak se slízne 8 bitů, pak parita a stop bit, který se taky oboje zahodí. Takže výsledek je pouze 8 bitů kódu. Porovnával jsem PS2 tabulku popsanou 11 bitama a příjmovou tabulku převodníku popsanou 8 bitama. No a narazil jsem na to, že pro stejnej znak si tabulky neodpovídají.
Třeba scan kód pro A je 438hex. V převodníku je ale C7 hex. Rozkreslil jsem si to po bitech a na nic jsem dlouho nemohl přijít. I když jsem odmazal start, paritu a stop, zbytek byl stále rozdílný. Pak jsem si nějak všiml, že se obojí liší směrem čtení, tedy PS2 má první , tedy start bit na časový ose vpravo, kdežto převodník ho má vlevo a ještě je rozdíl v inverzi dat. Odzkoušel jsem to pro několik znaků a je to vždy stejný. Budu se do toho muset víc ponořit, abych přišel na to, proč to tak je.
Taky jsem koukal do softu převodníku a řekl bych, že předěláním na výstup pro Sapi se soft ještě hodně zjednoduší vykucháním obsluhy LCD displeje a navíc několikanásobně zrychlí, v obsluze displeje je hromada zpožďovacích smyček, nejdelší skoro 0,4s.
Jirka
Vlákno · 24 zpráv
- klavesnice
- Re: klavesnice
- Re: klavesnice
- Re: klavesnice
- RE: klavesnice
- Re: klavesnice
- Re: klavesnice
- Re: klavesnice
- Re: klavesnice
- Re: klavesnice
- Re: klavesnice
- RE: klavesnice Přílohy: 1
- Re: klavesnice
- RE: klavesnice
- Re: klavesnice
- RE: klavesnice
- Re: RE: klavesnice
- RE: RE: klavesnice Přílohy: 2
- RE: RE: klavesnice
- RE: RE: klavesnice
- Re: RE: RE: klavesnice
- Re: klavesnice
- konec pandory
- RE: RE: RE: klavesnice