Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 4.1.2006, 19:55   #1
Morgray
Novi član
 
Član od: 4.1.2006.
Poruke: 2
Zahvalnice: 0
Zahvaljeno 0 puta na 0 poruka
Određen forumom Komunikacija sa LPT portom u Visual Basicu

Da li neko zna kako naterati VB da komunicira sa LPT-om? Za pocetak bi mi trebalo samo paljenje i gasenje svih pinova, ali ako je neko voljan da objasni vise bicu zahvalan...

E da, ovo se odnosi na XP!


Hvala unapred!
Morgray je offline   Odgovor sa citatom ove poruke
Stara 5.1.2006, 1:41   #2
Brains
Cogito ergo Brains
 
Avatar korisnika Brains
 
Član od: 16.10.2005.
Lokacija: Lobanja
Poruke: 417
Zahvalnice: 3
Zahvaljeno 42 puta na 26 poruka
Određen forumom Re: Komunikacija sa LPT portom u Visual Basicu

Neka me ispravi neko ko se bavio vise od 5 minuta ovom temom (znaci ne kao ja... ) Mislim (procitao negde na nekom zvanicnom sajtu/u zvanicnom helpu) da u Win-u (pocev od 2000 pa na dalje, sto znaci i XP) nije tako lako (bez asemblerskog koda) pristupati LPT i COM portovima na sirov nacin, nego komunikaciju moras sprovesti preko Windowsa i njegovih dll-ova. Koji dll, ne znam tacno...
Brains je offline   Odgovor sa citatom ove poruke
Stara 5.1.2006, 4:22   #3
Morgray
Novi član
 
Član od: 4.1.2006.
Poruke: 2
Zahvalnice: 0
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: Komunikacija sa LPT portom u Visual Basicu

Citat:
Brains kaže:
Neka me ispravi neko ko se bavio vise od 5 minuta ovom temom (znaci ne kao ja... ) Mislim (procitao negde na nekom zvanicnom sajtu/u zvanicnom helpu) da u Win-u (pocev od 2000 pa na dalje, sto znaci i XP) nije tako lako (bez asemblerskog koda) pristupati LPT i COM portovima na sirov nacin, nego komunikaciju moras sprovesti preko Windowsa i njegovih dll-ova. Koji dll, ne znam tacno...
najpre, Brains hvala za pomoc... ali

upravo tako (preko dll-a) sam radio u win98... ioport.dll ili tako nesto... ali ovde to nece...

dakle, treba mi neko ko je ovo uspesno radio, a da je VB u pitanju, a ne C!

Poslednja ispravka: Morgray (5.1.2006 u 13:17)
Morgray je offline   Odgovor sa citatom ove poruke
Stara 10.3.2006, 19:34   #4
MG-RAY
Starosedelac
 
Član od: 15.2.2006.
Lokacija: Midlands
Poruke: 1.523
Zahvalnice: 277
Zahvaljeno 307 puta na 207 poruka
Slanje poruke preko Skypea korisniku MG-RAY
Određen forumom Re: Komunikacija sa LPT portom u Visual Basicu

OK, jedino inpout32.dll podrzava direktan pristup LTP-u, na XP-u ili 9x - svejedno...

dodaj ovaj code u modul:

---cut here---

Public Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer


Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

---cut here---

adrese portova (HEX) : 378(output) ,379(input / output) i 37A.


ako ti treba konkretan primer(VB6 / C#) - javi...

Poslednja ispravka: MG-RAY (7.4.2006 u 15:27)
MG-RAY je offline   Odgovor sa citatom ove poruke
Stara 14.3.2006, 13:35   #5
Brains
Cogito ergo Brains
 
Avatar korisnika Brains
 
Član od: 16.10.2005.
Lokacija: Lobanja
Poruke: 417
Zahvalnice: 3
Zahvaljeno 42 puta na 26 poruka
Određen forumom Re: Komunikacija sa LPT portom u Visual Basicu

Citat:
MG-RAY kaže:
OK, jedino inpout32.dll podrzava direktan pristup LTP-u, na XP-u ili 9x - svejedno...
ako ti treba konkretan primer(VB6 / C#) - javi...
Ako te ne mrzi, baci oba primera. Nece da se bace.
Brains je offline   Odgovor sa citatom ove poruke
Stara 19.3.2006, 19:19   #6
MG-RAY
Starosedelac
 
Član od: 15.2.2006.
Lokacija: Midlands
Poruke: 1.523
Zahvalnice: 277
Zahvaljeno 307 puta na 207 poruka
Slanje poruke preko Skypea korisniku MG-RAY
Smile Re: Komunikacija sa LPT portom u Visual Basicu

DEO1:

inpout32.dll nadji na netu, ili mi ostavi mail da ti ga posaljem (kao i ceo source, ako te mrzi da radis Step-By-Step)...

OK, prvo malo "teorije"...

Standardni LTP port - 25 pinova, tebi treba "samo" 16 ili 9, zavisi kako uzmes.

pinovi od 2 do 9 su izlazni (za port 888 / HEX: 378):
na njih kacis [ + (pozitivan)] kraj (npr. [+] kraj LED)

2 - 1
3 - 2
4 - 4
5 - 8
6 - 16
7 - 32
8 - 64
9 -128

znaci broj koji posaljes na port bice prikazan binarno (npr . 82 , binarno 1010010 ukljucice pinove 3 , 6 i 8).

GND (Ground) pinovi : od 18 do 25:

to bi vec bilo mesto gde povezujes[ - (negativan)] kraj.

inace, izlazni napon je 3.3V.

ostali ti za ove stvari nece trebati, ali ako zelis da znas cemu sluze - pitaj...

a i tu je fotka programabilnog 'Synchronised-With-Music LightShow'-a, ali posto je to slika-ne vredi ti nista, ali to je samo jedna od stvari koja moze da se napravi pomocu LTP-a i funkcionalnije je od Neon-gluposti...
Priložene slike
Kliknite na sliku za veću verziju

Ime:	Picture(2)2.jpg
Viđeno:	123 puta
Veličina:	71,6 KB
ID:	929  

Poslednja ispravka: MG-RAY (19.3.2006 u 20:00)
MG-RAY je offline   Odgovor sa citatom ove poruke
Stara 19.3.2006, 19:20   #7
MG-RAY
Starosedelac
 
Član od: 15.2.2006.
Lokacija: Midlands
Poruke: 1.523
Zahvalnice: 277
Zahvaljeno 307 puta na 207 poruka
Slanje poruke preko Skypea korisniku MG-RAY
Cool Re: Komunikacija sa LPT portom u Visual Basicu

DEO2:
---VB---
iskopiraj inpout32.dll u "C\Windows\"

dodaj jedan modul u projekat, nazovi ga kako hoces.
ubaci sledeci kod:

Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

Public Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer
****************************
na Form dodaj sledece kontrole:

ListBox ---x1
TextBox --- x2
Label --- x1
CommandButton --- x2
***************************
i naravno - ubaci code:



Kod:
Dim gPortAddress As String
Dim gValue As Integer

Private Sub Command1_Click()
 gValue = Int(Text1.Text)
 updateLabelCaption gPortAddress
 
 Out "&H" + gPortAddress, gValue
 
End Sub


Private Sub Command2_Click()
 Text2.Text = Str$(Inp("&H" + gPortAddress))
End Sub

Private Sub Form_Load()
 List1.AddItem "378"
 List1.AddItem "379"
 List1.AddItem "37A"

 gPortAddress = "378"
 updateLabelCaption gPortAddress
End Sub

Private Sub Form_Unload(Cancel As Integer)
 Out "&H" + gPortAddress, 0
End Sub

Private Sub List1_Click()
 gPortAddress = List1.List(List1.ListIndex)
 updateLabelCaption gPortAddress
End Sub

Private Sub updateLabelCaption(labelCaption As String)
 Label1.Caption = labelCaption + vbCrLf + "Value:" + Str$(gValue)
End Sub
"&H" : sluzi da bi VB znao da je '378' adresa i to u HEX obliku (ili DEC: 888 , ako ti je lakse).

Poslednja ispravka: MG-RAY (19.3.2006 u 19:39)
MG-RAY je offline   Odgovor sa citatom ove poruke
Stara 19.3.2006, 19:45   #8
MG-RAY
Starosedelac
 
Član od: 15.2.2006.
Lokacija: Midlands
Poruke: 1.523
Zahvalnice: 277
Zahvaljeno 307 puta na 207 poruka
Slanje poruke preko Skypea korisniku MG-RAY
Određen forumom Re: Komunikacija sa LPT portom u Visual Basicu

---C#---
dodaj sledece delove code-a (+ kontrole: 3x Label, 3x TextBox, 2xButton)
Kod:

using System.Runtime.InteropServices;

/////////

#region Vars
		[DllImport("inpout32.dll", EntryPoint = "Out32")]
		public static extern void lOut(int PortAddress, int Value);

		[DllImport("inpout32.dll", EntryPoint = "Inp32")]
		public static extern int  lInp(int PortAddress);

		/*int gPortAddress = 888;
		int gValue = 255;  */
#endregion

///////WFDGC
private void button1_Click(object sender, System.EventArgs e)

		{

		  try
		  {
		   lOut(int.Parse(textBox1.Text),int.Parse(textBox2.Text));
		  }
		  catch
		  {
           lOut(888,0); 
		  }

		}
		
		private void WinForm_Closing(object sender, System.ComponentModel.CancelEventArgs e)
		{
		  lOut(888 ,0);
		}
		
		private void button2_Click(object sender, System.EventArgs e)
		{
		  try
		  {
		  textBox3.Text = (lInp(int.Parse(textBox1.Text))).ToString();
		  }
		  catch//(System.Exception ed)
		  {
		  textBox3.Text = "ERROR";
		  //throw(ed);
		  }
		}
MG-RAY je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno



Sva vremena su po Griniču +2 h. Sada je 13:19.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com