- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- lezso6: Nem látszik a kurzor Chrome alatt a beviteli mezőkben?
- Lalikiraly: SÜNI energiaital.
- user2: Kia Ceed Gold 160 1.5 T-GDI MY2024
- Elektromos rásegítésű kerékpárok
- Gurulunk, WAZE?!
- eBay-es kütyük kis pénzért
- bambano: Bambanő háza tája
Ú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
Hirdetés
- Sorozatok
- Egyre csak fejlődik az AI, emberek tízezreit rúgja majd ki a BT
- gban: Ingyen kellene, de tegnapra
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Netflix
- Okos Otthon / Smart Home
- Milyen notebookot vegyek?
- Azonnali informatikai kérdések órája
- exHWSW - Értünk mindenhez IS
- Szeged és környéke adok-veszek-beszélgetek
- További aktív témák...
- BESZÁMÍTÁS! MSI B450M R5 5500 32GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Chieftec 600W
- Kingmax 2x2GB DDR3 1333 RAM eladó
- Bomba ár! HP Elitebook 850 G6 - i5-8GEN I 8GB I 256GB SSD I 15,6" FULLHD I Cam I W11 I Gari!
- ViewSonic VG700b monitor 17" 1280 1024 DSUB, DVI, beépített hangszórókkal
- Honor Pad X8 64GB, Wi-Fi, 1 Év Garanciával
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest