Új hozzászólás Aktív témák
-
#10382336
törölt tag
válasz
#10382336 #1196 üzenetére
Az LPT port programozására sikerült készítettem egy egyszerü kis
példaprogramot VB.NET - re. A lefordított program 16.5 Kbyte. CPU - használata
közel 0%.
A program XP-n tökéletesen működik!
Ha valaki kipróbálja VISTA-n megírhatná, hogy működik-e?
Ha valaki egyszerűbb megoldást tud azt is megírhatja.A program készítésének lépései:
1: "IO.DLL" letöltése. Pl. [innen]
2: "IO.DLL" bemásolása a C:\WINDOWS\SYSTEM mappéba. (NEM a system32 -be!!!)
3: Start menu futtatás parancsba beírni:
Regsvr32.exe C:\WINDOWS\SYSTEM\io.dll
Erre a parancsra a "REGSVR32.EXE" valószínűleg kiabálni fog,
hogy a fájl betöltése sikerült, de regisztrálni nem lehet.
Ezzel nem kell foglalkozni, "OK" oszt jó napot!4: "PARMON.EXE" letöltése. Pl. [innen]
A program 446 Kbyte. CPU használata 50-80%.5: Most jöhet a VB.NET indítása.
File menü - New project - Windowsapplication létrehozása6: Project menü - add class - "konzol.vb" osztály létrehozása.
A konzol tartalma:Public Class Konzol
Private Declare Sub PortOut Lib "io.dll" _
(ByVal Port As Integer, ByVal Value As Byte)
Private Declare Function PortIn Lib "io.dll" _
(ByVal Port As Integer) As Byte
Private esemeny As New System.Threading.AutoResetEvent(False)
Private megszakitas As System.Threading.TimerCallback = _
AddressOf végrehajtás
Private idozito As System.Threading.Timer, szamlalo As Integer
Sub adatki(ByRef adat As Byte)
PortOut(888, adat)
End Sub
Function adatbe() As Byte
adatbe = PortIn(888)
End Function
Sub start()
szamlalo = 0
idozito = _
New System.Threading.Timer(megszakitas, esemeny, 0, 1000)
End Sub
Sub állj()
idozito.Dispose()
End Sub
Sub végrehajtás(ByVal stateInfo As Object)
Dim autoEvent As System.Threading.AutoResetEvent = _
DirectCast(stateInfo, System.Threading.AutoResetEvent)
adatki(szamlalo) : szamlalo += 1
If szamlalo >= 256 Then szamlalo = 0
End Sub
End Class7: "Form1 [design]" fül aktiválása, majd Dupla katt a "Form" közepébe.
A form1 így nézzen ki:Public Class Form1
Private button1, button2 As New Button
Private konz As New Konzol, konzinditvae As Boolean = False
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With button1 : .Top = 10 : .Left = 10 : .Text = "INDÍTÁS"
AddHandler .Click, AddressOf Indítás_Click
End With
With button2 : .Top = button1.Top : .Left = button1.Right + 5
.Text = "Állj"
AddHandler .Click, AddressOf Állj_Click
End With
With Me
AddHandler .FormClosing, AddressOf Form1_FormClosing
.Text = "LPT próba" : .Width = 185 : .Height = 75
With .Controls
.Add(button1) : .Add(button2)
End With
End With
End Sub
Private Sub Indítás_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
If konzinditvae Then Exit Sub
konzinditvae = True : konz.start()
End Sub
Private Sub Állj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
If Not konzinditvae Then Exit Sub
konz.állj() : konzinditvae = False
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)
If konzinditvae Then konz.állj()
RemoveHandler button1.Click, AddressOf Indítás_Click
RemoveHandler button2.Click, AddressOf Állj_Click
RemoveHandler Me.FormClosing, AddressOf Form1_FormClosing
End Sub
End Class8: Build menü - Build parancs
9: "PARMON.EXE" indítása.
A "PARMON.EXE" -ben a "connector" - t illik átállítani "MALE" - re.
10: Lefordított program indítása.
Az "INDÍTÁS" gombra kattitva a "PARMON.EXE" mutatja a munka eredményét.Ha valaki közvetlenül az LPT-n szeretne feszültséget mérni, annak sincs akadálya, csak arra
figyeljen, hogy rövidzár ne keletkezzen!Ha az űrlapon létrehozunk egy "LABEL" - t, valamint egy új időzitőt kb. 0.3, 0.5 sec időzítéssel
és az "adatbe" függvénnyel lekérdezzük a port értékét, akkor a "PARMON.EXE" használata
feleslegessé válik.Jó programozást mindenkinek!
Új hozzászólás Aktív témák
- Dobozos Új gamer MSI Katana 15 /i7-12650H/16GB/1TB SSD/RTX 4070 8GB GB/144Hz/Gari
- Huawei Watch Fit 4 Pro 3 év garancia, Huawe Freebuds 2
- Xiaomi Redmi 14 PRO 5 G 8/256 DUAL garanciával
- Dell Precision 7670 FHD+ i9-12950HX 16C / 64G D5 / 1T G4 / Quadro RTX A4500 16GB / HU vb Pro tervező
- LG OLED55G42LW LG Gyári garancia 3 év
- Lenovo S10-2 Intel Atom retró csajszis netbook eladó
- AKCIÓ! ASUS PRO WS W790E-SAGE SE alaplap garanciával hibátlan működéssel
- ÁRGARANCIA! Épített KomPhone i5 14400F 32/64GB RAM RTX 5060Ti 8GB GAMER PC termékbeszámítással
- Bomba ár! Dell Latitude E7270 - i7-6GEN I 8GB I 256GB SSD I 12,5" FHD I HDMI I CAM I W10 I Gari!
- Huawei P20 Lite 64GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest