Emulace připojené tiskárny na LPT port
Moderátor: Moderátoři
Emulace připojené tiskárny na LPT port
Potřeboval bych docílit odeslání dat na LPT port, i když na něj není nic připojeného. Když zadám ve windows zápis do souboru "lpt1", zápis se zasekne, pokud tam není zařízení, které to "odhendšejkuje".
Zkoušel jsem nahodit vstup SELECT, shodit ACK, ale nejde to. Nevíte, jakým zapojením to jednoduše ošulit?
Zkoušel jsem nahodit vstup SELECT, shodit ACK, ale nejde to. Nevíte, jakým zapojením to jednoduše ošulit?
- tomasjedno
- Příspěvky: 5634
- Registrován: 11 říj 2008, 02:00
- Bydliště: ZZ9 Plural Z Alpha
- tomasjedno
- Příspěvky: 5634
- Registrován: 11 říj 2008, 02:00
- Bydliště: ZZ9 Plural Z Alpha
Nevíte, jestli si ten handshake softwarově hlídá windowsový ovladač portu, nebo se hlídání handshaku děje na úrovni HW?
Otázka je, jak přísná je ta kontrola - tedy jestli tomu stačí jen ACK? Nebo tam potřebuje mít i to BUSY?
Mohl bych na výstup STROBE zapojit tranzistorový invertor, který by vyrobil signál pro BUSY, a signál pro ACK bych vyvedl přímo ze STROBE. Ale odehrálo by se to všechno současně a nevím, jestli by to sežral. Třeba tam chce vidět posloupnost - strobe, po něm busy a nakonec ACK. Pak bych tam musel zavést zpoždění. RC členem by se daly ty signály možná trochu prodloužit.
Vím, že existují možnosti to obejít, mám otestovanou knihovnu inpout32.dll pro přímý zápis na V/V porty, s tou to chodí dobře, ale pak to musíš tok dat řídit softwarově - bitbangingem, což zatěžuje CPU, je to pomalé (user mode driver), není to časově přesné a proč to dělat, když to jde nativně úrovni řadiče/ovladače?
Otázka je, jak přísná je ta kontrola - tedy jestli tomu stačí jen ACK? Nebo tam potřebuje mít i to BUSY?
Mohl bych na výstup STROBE zapojit tranzistorový invertor, který by vyrobil signál pro BUSY, a signál pro ACK bych vyvedl přímo ze STROBE. Ale odehrálo by se to všechno současně a nevím, jestli by to sežral. Třeba tam chce vidět posloupnost - strobe, po něm busy a nakonec ACK. Pak bych tam musel zavést zpoždění. RC členem by se daly ty signály možná trochu prodloužit.
Vím, že existují možnosti to obejít, mám otestovanou knihovnu inpout32.dll pro přímý zápis na V/V porty, s tou to chodí dobře, ale pak to musíš tok dat řídit softwarově - bitbangingem, což zatěžuje CPU, je to pomalé (user mode driver), není to časově přesné a proč to dělat, když to jde nativně úrovni řadiče/ovladače?
- tomasjedno
- Příspěvky: 5634
- Registrován: 11 říj 2008, 02:00
- Bydliště: ZZ9 Plural Z Alpha
Pro mě je to všecko "hádrujýno" - prostě myslel jsem nějakej programovatelnej šváb s minimální spotřebou, kterej by se dal napájet buď přímo z portu, nebo usměrněnýho signálu nějaký linky => aby nebyl potřeba žádnej další napájecí zdroj a kterej by učunil tu funkci odezvy na portu. Pokud to zvládneš líp, třeba jedním odporem a půlkou tranzistoru, navrhni to. Já neznám průběhy na tiskovým portu, ale napadlo mě, že nějakej programovatelnej bázmek by to zvládat musel. Některým lidem stačí napovědět směr, dál už pak věc řeší sami. Chtěl jsem jen popostrčit, ne navrhovat jedno určitý a pravděpodobně i moc složitý řešení. Když ale v dnešní době lidi řeší i blbej blikač namísto dvou trandů, pár odporů, kondíku a LEDky jedním programovatelným švábem a tvrdí, že to je levnější řešení, proč nepoužít podobnou cestu i na ten LPT port?tomasjedno píše:Jistě by se to dalo vymyslet ještě složitějc.EKKAR píše:Nešlo by tohle ošetřit nějakým hádrujýnem ? Prostě procesůrek napájenej z portu, kterej by na podnět z datový linky odeslal příslušnej handshake ...?
Nasliněný prst na svorkovnici domovního rozvaděče: Jó, paninko, máte tam ty Voltíky všecky...
A kutilmile - nelituju tě
!!!
A kutilmile - nelituju tě
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)