» »

A zna kdo prebrat vseh 8 bitov iz LPT (parallel) porta?

A zna kdo prebrat vseh 8 bitov iz LPT (parallel) porta?

Shinobi ::

Pozdravljeni!

Zanima me, če slučajno zna kdo prebrati vseh 8 bitov iz LPT1?
Prosim, preden mi spet kdo zaflooda z inpout32 komunikacija ni problem.
Problem tiči drugje:

Če zapišem 1 byte (8 bitov) v DATA REGISTER je vse ok.
Data registra ni mogoče brati. Berem potem iz status registra,
kjer pa je takole:

DATA BIT 0 gre v STATUS BIT 3
DATA BIT 1 gre v STATUS BIT 4
DATA BIT 2 gre v STATUS BIT 5
DATA BIT 3 gre v STATUS BIT 6
DATA BIT 4 gre v STATUS BIT 7 (NEGIRANO)

Problem je od kje pobrati DATA BIT 5, 6 in 7 ?
Control Register mi je pri tej zadevi neuporaben, ker je write only.
Probal sem nastavljati t.i. PS/2 BYTE MODE, pa je data vedno 0xFF,
tako da ne pomaga kaj dosti, potem se poskusil EPP in ECP pa nič
ne zaleže.

A je koumu uspelo v celoti prenesti še BIT 5,6 in 7?

AJA! Nibble mode ne koristi. Ne pomaga mi, če pošljem
najprej low nibble (0..3) in potem še enkrat high nibble (4..7).
Nujno more biti byte.

Gre dejansko za tistkanje iz DOS PC preko kabla na printer emulator na Windows 7.
  • poskusil klonirati: Shinobi ()

int47 ::

Malo sem že pozabil, vendar mislim, da imaš v status registru stanja kontrolnih signalov.

Tukajpravijo, da je data register možno brati, če je port dvosmeren (bidirectional).

Fave ::

Kako pa imas v biosu nastavljen lpt?
My mind's a hyper tool that fixes everything.

Shinobi ::

Bios lahko nastavim kaj hočem PS/2, EPP, ECP nič ne zaleže.
Sem že probal PS2 pa nastavit control bit 5 (C5) za input,
pa skoči data takoj na 0xFF in je blokiran. Lahko pošiljam
iz naprave karkoli na pc pa data ostane 0xFF. Wierd.

Shinobi ::

Hja! Rabiš BI-DIRECTIONAL kabel, ne pa LAPLINK cable. Preko null modem gre samo 5 bitov max ostali 3 niso povezani!

Damn, kje naj zdaj dobim ta kabel? Sam ga nebom lotal, ker je invertan.

Mode 2: 8 bits, using bidirectional parallel port

This version works only with bidirectional parallel port whose Data Out
can be tristated; the receiving side must tristate its Data Out port to
use its feedback register as an 8 bit input port.
 Side 1 Pin dir Pin Side 2 connection
------ --- --- --- ------ ----------
 D0 2 <=>* 2 D0 direct
 D1 3 <=>* 3 D1 direct
 D2 4 <=>* 4 D2 direct
 D3 5 <=>* 5 D3 direct
 D4 6 <=>* 6 D4 direct
 D5 7 <=>* 7 D5 direct
 D6 8 <=>* 8 D6 direct
 D7 9 <=>* 9 D7 direct

 C0- 1 => 13 S4+ inverted
 C1- 14 => 12 S5+ inverted
 C2+ 16 => 10 S6+ direct
 C3- 17 => 11 S7- direct

 S4+ 13 <= 1 C0- inverted
 S5+ 12 <= 14 C1- inverted
 S6+ 10 <= 16 C2+ direct
 S7- 11 <= 17 C3- direct

 Gnd 25 === 25 Gnd (ground)

* Note: bidirectional cards only; receiving side must tri-state with C5=1

Zgodovina sprememb…

  • spremenil: Shinobi ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Termometer na USB vodilu (načrt, vezja, izkušnje in slike) :P (strani: 1 2 3 4 5 )

Oddelek: Elektrotehnika in elektronika
23035427 (23603) SloMusty
»

[C++] parallel porti na PC

Oddelek: Programiranje
91634 (1397) snow
»

PIC 16f84A - utripanje

Oddelek: Elektrotehnika in elektronika
222241 (2041) ql000
»

Težave s pekačem

Oddelek: Pomoč in nasveti
121883 (1823) boštjan

Več podobnih tem