Fórum témák
» Több friss téma |
Fórum » LPT portos vezérlés
Sziasztok! nincs valakinek egy olyan programja, ami gombnyomásra jeleníti meg a biteket az LPT-n? Én nagyon kezdő programozó vagyok, és gyakorlatilag még nem vagyok olyan szinten,hogy gomblenyomás után felvillanjon egy lámpa amit az LPT-ről üzemeltetnék.AKinek van ilyen programja,azt kérem keressen fel! Nagyon fontos lenne! KÖszi előre is!
![]()
Szia! Én ezeket használom ha szükségem van az LPT monitorozására.
Üdv. Andris
Egy másik alternatíva az lenne, hogy ha vki tud C#ben progizni,az keressen fel!
![]()
Üdv mindenkinek!
LPT port direkt win32 API-val elérésével foglalkozott már valaki?
Sziasztok!
Azután hogy végigolvastam a topic-ot még mindig megválaszolatlan és megoldatlan számomra egy kérdés. Mikor bekapcsolom a gépet felvillannak a portra kötött ledek. (egyenlőre csak ledek) Miután betöltődött az op rendszer "XP" akkor a kimenetek mind 1 re állnak be, tehát világítanak a ledek. Van rá roppant egyszerű megoldás, hogy mindezeket le lehessen tiltani? Egyáltalán ne adjon a kimenetekre jelszintet a gép? Azért problémás a dolog mert a gépet távolról irányítanám, és elég gáz ha nem tudok hozzáférni, és minden kimenetre kötött dolog működik amég hozzá nem férek. A válaszokat nagyon köszönöm előre is. Komplett leírás segédlet érdekel infó az van bőven, a megoldás, az kéne. Üdv.: Laca
Nem lehet letiltani. Ezek a jelek a régi nyomatók alapállapotba való helyezéséhez szükségesek. (illetve a nyomtató detektálásához) Futó Windows alatt pedig ott van a párhuzamos port PnP funkciója is, ami elég jól belezavarhat a kommunikációba.
Hello! Rakjál a kimenetre egy-egy invertert és ezek figyelembevételével programozd őket.
Hali!
Köszönöm a gyors választ, a reményt ennek ellenére fenntartom. üdv.:Laca
A BIOS és az oprendszer azért ír a portra, mert ha a beírt érték visszaolvasható, akkor a port a megadott címen létezik (ezzel történik meg a detektálás), és utána az azon lévő egységet alapállapotba kell helyezni. Szerintem ezt nem lehet letiltani, maximum az egész LPT letiltásával a BIOS-ból.
(lehet, hogy FreeDOS, vagy Linux alatt másképp megy a dolog) Ha meg akarod oldani, akkor az általam már fent említett "D" tárolós megoldás jöhet szóba.
Azért ki lehet kapcsolni. XP-ben tudom, mi a helyzet: át kell hozzá hágni a védett módot (ami a win okossága, nem tudom, mire jó), be kell szerezni, vagy írni portkezelést a programodba, és simán lehet kapcsolgatni a ledeket. Ki van próbálva.
A port 'kiszabadítása' pl. lehetséges egy giveio.sys nevű dolog beszerzésével, de olyat is láttam, hogy allowio. Ezzel szemben a BIOS vizsgálatát és az alapállapotba állást nem nagyon tudod megakadályozni (már ha használni szeretnéd a portot), viszont ezek után a fenti módon szabadon lehet garázdálkodni. Én csak ledekkel próbálkoztam, minimális szinten, olvasni nem olvastam a portól adatot, és ez is marha lassúnak tűnt, de lehet, hogy valamit rosszul állítottam be.
Nem jól érted a Windows-os problémát.
Neki az a másik gondja, hogy amikor indul a rendszer, és még a programja nem kapta meg a vezérlést, bekapcsolódik az LPT-re kötött cucc, a windows inicializáló folyamata miatt.
Értem én, csak arra nem tudok megoldást.
Idézet: „Ezzel szemben a BIOS vizsgálatát és az alapállapotba állást nem nagyon tudod megakadályozni” De én úgy próbálnám megoldani, hogy valahonnan (pl. PC tápja, vagy a port pinjeinek egy bizonyos állapota) megtudnám, mikor kapcsol be a gép, utána pedig valami időzítéssel x ideig nem engedném kívülről használni a portot (ezt a külső áramkörben kellene megvalósítani). Aztán ha a gép megy és fut a szoftver, az is jelezhetné, hogy PC oldalról kész a kommunikációra. Van 8 adat bit, meg vagy 5 egyéb output, ha jól rémlik. Erre is lehet lőni.
Erre írtam a "D" tárolós megoldást fentebb...
A "D" tárolót az adatvonalakra kell kötni és a vezérlőregiszter egyik vonalára pedig a "D" tár órajelvezetékét. A programokat pedig úgy kell módosítani, hogy az adatkiírás után a megfelelő órajelet is kitegye a portra. Ezzel elkerülhető, hogy olyan adat is kijusson, amit mi nem szeretnénk kijuttatni. Akár a "D" tár is elhagyható, ilyenkor egy 74HCT245 puffer IC engedélyező lábát szintén a vezérlőregiszter segítségével kell kapcsolni. Pl: >>EZEN<< a kártyán is így oldottam meg ezt a gondot.
Azon én is gondolkodtam, hogy hogyan lehetne megoldani, hogy csak akkor legyenek a kimenetek aktívak, ha én akarom, de a bemenetek felhasználását nem mérlegeltem. Elgondolkoztam azon, hogy nincs e valami IC vagy PIC program a dologra....
Amúgy a megoldás nem kis kereskedelmi erővel is bírna. Jelenleg a felállás az a következő. Problémák, megoldások 1:1 A következőt kéne kivitelezni, ha a kimenetek OP rendszertől független tesztelődnek, és ily módon jelet kapnak, egy elektronika ezt meggátolhatná. Teszem azt csak akkor engedné fizikálisan a kimeneteket működni, ha a egy meghatározott bemenetére jel érkezne. Tovább fokoztam a problémát! Ezen megoldáshoz nem csak külön elektronika, de még egy program is kellene. A lényeg, a kimeneteken, még véletlen se jelentkezzen 1 másodpercre sem jel, mert akkor már bukta a precíz használhatóság. (Igazából egy megoldás van: Bekapcsolni a gépet, megvárni, míg feláll a rendszer és fizikailag utólag kapcsolni a kimenetre bármit. És az áramszünet, tudom szünetmentes, de az sem bírja sokáig.) Szóval tudom hogy vannak olyan hatalmas koponyák akik ezt olvassák, és van rá megoldás, amit én szívesen használnék. Előre is köszönöm! Üdv.: Laca
Még egy kérdés a Conrad honlapján van egy ilyen reléport kártya az is kapcsolgat az öndiagnosztika során? Mert elvileg annak külön programja van és valamilyen IC-n keresztül mennek a jelek. Van valakinek ilyen?
Hogyan műkszik?
Megnézted az általam belinkelt pdf-et? Abban van egy kapcsolási rajz is, ott láthatod, mi hogyan oldottuk meg ezt a gondot. Ez addig valóban nem enged ki jelet a kártyára, amíg mi nem engedjük meg szoftverből.
(sajna win alatt még jöhet plusz szopás is ennek ellenére is, írtam ezt is: paralell port PnP+megszakítás; igaz erre van megoldás)
Szia Gozi!
Megnéztem a linket nagyon bíztató, de sajna nem rendelkezem elég idővel az elektronika elkészítéséhez, úgyhogy egyenlőre a projekt felejtős, a válaszom is egy hosszú távollét miatt maradt el. Ennek ellenére tényleg ígéretes, az általatok készített panel, ámde sok jónak tűnő ötlettel borítottak el az elmúlt hetekben a témával kapcsolatban. Teljesen internet és gépfüggetlen megoldásokon töröm a fejem. Ha kitalálok valamit nyomban megosztom veled, veletek. Továbbra is minden jót! Köszönöm mindenkinek az infót! A témát viszont tovább boncolhatnánk. Üdvözlettel: Laca.
Üdv
Valaki aki ért hozzá megírná hogy milyen parancsokkal és milyen szintaxissal lehet LPT-t programozni Visual Basic-ben? Az io dll már megvan ![]() Ha csak egy forrást tud csatolni az is jó lenne, onnan már tudnám. Köszi ![]()
Szia!
Itt vannak a parancsok az io.dll-hez, programozási nyelvek szerint csoportosítva: Bővebben: Link
SOS!!!!!
Az a gondom, hogy írtam egy programot,amivel jeleket küldenék az LPT-re. A program le is fut, csak anyi a hiba, hogy ha rányomom a multimétert, akkor mindegyik lábon 5Vot mérek. Van egy figyelő programom biztosan ismeritek http://geekhideout.com/parmon.shtml Ennek alapján meg minden rendesen működik.pl csak a 2. lábra küldök jelet, akkor ez ki is írja h minden OK és h csak a második lábon van jel, ehelyett az összes lábon ki tudom mérni..Ilyenkor mi van?..Kérem segítsetek minél gyorsabban!!!!
inpout32.dll , be van másolva a system32 mappába??? ha nincs akkor ott a gond
Annyit tudok segíteni (bár ez nem sok), hogy a Parmon-ban is tudsz játszani a porttal, ez a tesztelést gyorsítja.
Hibaüzenet nincs? Mert XP alatt védett a port (meg ha jól rémlik, NT alatt is). Nem lehet csak úgy piszkálni, Bill bácsi megtiltotta... Ha ez a gond, akkor kell szerezned valami drivert, amivel ki tudod szabadítani. Pl. keress a porttalk-ra, nekem ez van itthon, hagyja állítgatni a biteket és működött is régen (most nem feküdtem be az asztal alá kipróbálni).
Ha a parmon szépen mutatja az értéket, és az adatregiszterhez tartozó cím a 378, akkor a szoftverrel elvileg nincs gond.
Én a tesztet úgy végezném, hogy beírok a 378-as címre 0-át és 0xFF (255) értéket és változást keresnék. Ha megvan ennek az eredménye, akkor tovább lehet lépni. Mint mindenkinek, aki az LPT-vel akar foglalkozni, nagyon ajánlom ezt áttanulmányozásra: Bővebben: Link
be van másolva a dll, és semmi hibaüzenet nincs! a figyelő szerint semmi hiba sincsen,ennek ellenére az összes lábon meg tudom mérni az 5Vt....pedig jelen esetben csak a 4. lábon kéne.... van olyan láb is ahol3,8V-ot mérek!
![]() ![]() ![]() Idézet: „van olyan láb is ahol3,8V-ot mérek!” Az nagy valószínűséggel egy bemenet.
Sziasztok!
LPT-re lehet máshogy is kiküldeni jelet, mint hogy egyszerre küldünk ki mind a 8-ra, 1 bájtot küldünk ki vagyis lehet olyat hogy csak egy bitet küldünk ki egymástól függetlenül? Inpout32.dll-nél (meg assembly-ben) legalábbis így tudom megoldani. IO.dll-t még nem használtam, de az is 1 bájtot küld ki, (pl 1000000 és akkor az utolsó biten van jel) vagy máshogy dolgozik?
A programodban buffereled, es bitenkent tudod allitani, majd kiirod a 8 bitet.
Ezt most nem teljesen értem. Kicsit konkrétabban?
|
Bejelentkezés
Hirdetés |