Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Incalzire in pardoseala etapizata

Suprataxa card energie?!

Cum era nivelul de trai cam din a...

probleme cu ochelarii
 Impozite pe proprietati de anul v...

teava rezistenta panou apa calda

Acces in Curte din Drum National

Sub mobila de bucatarie si sub fr...
 Rezultat RMN

Numar circuite IPAT si prindere t...

Pareri brgimportchina.ro - teapa ...

Lucruri inaintea vremurilor lor
 Discuții despre TVR Sport HD.

Cost abonament clinica privata

Tremura toata, dar nu de la ro...

Renault Android
 

Intrebare inpout32.dll

- - - - -
  • Please log in to reply
8 replies to this topic

#1
sarrieri

sarrieri

    Junior Member

  • Grup: Members
  • Posts: 53
  • Înscris: 21.01.2007
Salut ,
in primul rand imi cer scuze daca cumva mai exista acest subiect va rog sa postati aici linkul si o sa ma mut acolo :)

ok sa incep cu inceputul ..
am facut un mic programel in vb express si am o mica nelamurire stiu ca daca folosesc functia "Out(&H378, 0)" pot sa inchid toti pini sau daca folosesc "Out(&H378, 1)" pot sa pornesc pinul 1 problema apare atunci cand folosesc "Out(&H378, 3)" pentru ca eu folosesc un mic cablaj cu leduri ca sa testez pini cand folosesc 3 ca numarul pinuului se aprind ledurile 2 si 3 iar daca folosesc 4 se aprinde doar ledul 3 deci stiu ca al doilea parametru din functia de mai sus este hexadecimal daca voi folosi 255 voi activa toti pini daca voi folosi 0 voi dezactiva toti pini .

ce vreau eu defapt este sa pot sa folosesc separat fiecare pin in parte ceva de genu

Pin1 : on
Pin2 : off
Pin3 : on
Pin4 : on
Pin5 : off
Pin6
Pin7
Pin8

cum sa ma adresez fiecarui pin in parte stiu ca se poate pt ca am vazut un programel mic care face exact asta poti aprinde in ce ordine vrei tu ce pin vrei tu si ce l mai important pt mine este ca  vrea ca pinul 1 sa ramaina on chiar daca vreau si pinul 8 sa fie on sper ca m-ati inteles

multumesc !

#2
sarrieri

sarrieri

    Junior Member

  • Grup: Members
  • Posts: 53
  • Înscris: 21.01.2007

View Postsarrieri, on 28th September 2009, 17:36, said:

Salut ,
in primul rand imi cer scuze daca cumva mai exista acest subiect va rog sa postati aici linkul si o sa ma mut acolo :)

ok sa incep cu inceputul ..
am facut un mic programel in vb express si am o mica nelamurire stiu ca daca folosesc functia "Out(&H378, 0)" pot sa inchid toti pini sau daca folosesc "Out(&H378, 1)" pot sa pornesc pinul 1 problema apare atunci cand folosesc "Out(&H378, 3)" pentru ca eu folosesc un mic cablaj cu leduri ca sa testez pini cand folosesc 3 ca numarul pinuului se aprind ledurile 2 si 3 iar daca folosesc 4 se aprinde doar ledul 3 deci stiu ca al doilea parametru din functia de mai sus este hexadecimal daca voi folosi 255 voi activa toti pini daca voi folosi 0 voi dezactiva toti pini .

ce vreau eu defapt este sa pot sa folosesc separat fiecare pin in parte ceva de genu

Pin1 : on
Pin2 : off
Pin3 : on
Pin4 : on
Pin5 : off
Pin6
Pin7
Pin8

cum sa ma adresez fiecarui pin in parte stiu ca se poate pt ca am vazut un programel mic care face exact asta poti aprinde in ce ordine vrei tu ce pin vrei tu si ce l mai important pt mine este ca  vrea ca pinul 1 sa ramaina on chiar daca vreau si pinul 8 sa fie on sper ca m-ati inteles

multumesc !

revin cu o mica modificare

Public Class Form1

	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
		Out(&H378, 0) ' send 0000 0000 to printer port...
	End Sub

	Private Sub pin1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pin1.Click
		If pin1.Text = "Off" Then
			pin1.Text = "On"
		Else
			pin1.Text = "Off"
		End If

		If pin1.Text = "Off" And pin2.Text = "Off" And pin3.Text = "Off" Then
			Out(&H378, 0)
		ElseIf pin1.Text = "On" And pin2.Text = "On" And pin3.Text = "On" Then
			Out(&H378, 111)
		ElseIf pin1.Text = "On" And pin2.Text = "Off" And pin3.Text = "Off" Then
			Out(&H378, 1)
		ElseIf pin1.Text = "On" And pin2.Text = "On" And pin3.Text = "Off" Then
			Out(&H378, 11)
		ElseIf pin1.Text = "Off" And pin2.Text = "Off" And pin3.Text = "On" Then
			Out(&H378, 4)
		ElseIf pin1.Text = "Off" And pin2.Text = "On" And pin3.Text = "Off" Then
			Out(&H378, 2)
		ElseIf pin1.Text = "On" And pin2.Text = "Off" And pin3.Text = "On" Then
			Out(&H378, 101)
		ElseIf pin1.Text = "Off" And pin2.Text = "On" And pin3.Text = "On" Then
			Out(&H378, 1)
		End If
	End Sub

	Private Sub pin2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pin2.Click
		If pin2.Text = "Off" Then
			pin2.Text = "On"
		Else
			pin2.Text = "Off"
		End If

		If pin1.Text = "Off" And pin2.Text = "Off" And pin3.Text = "Off" Then
			Out(&H378, 0)
		ElseIf pin1.Text = "On" And pin2.Text = "On" And pin3.Text = "On" Then
			Out(&H378, 111)
		ElseIf pin1.Text = "On" And pin2.Text = "Off" And pin3.Text = "Off" Then
			Out(&H378, 1)
		ElseIf pin1.Text = "On" And pin2.Text = "On" And pin3.Text = "Off" Then
			Out(&H378, 11)
		ElseIf pin1.Text = "Off" And pin2.Text = "Off" And pin3.Text = "On" Then
			Out(&H378, 4)
		ElseIf pin1.Text = "Off" And pin2.Text = "On" And pin3.Text = "Off" Then
			Out(&H378, 2)
		ElseIf pin1.Text = "On" And pin2.Text = "Off" And pin3.Text = "On" Then
			Out(&H378, 101)
		ElseIf pin1.Text = "Off" And pin2.Text = "On" And pin3.Text = "On" Then
			Out(&H378, 1)
		End If
	End Sub

	Private Sub pin3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pin3.Click
		If pin3.Text = "Off" Then
			pin3.Text = "On"
		Else
			pin3.Text = "Off"
		End If

		If pin1.Text = "Off" And pin2.Text = "Off" And pin3.Text = "Off" Then
			Out(&H378, 0)
		ElseIf pin1.Text = "On" And pin2.Text = "On" And pin3.Text = "On" Then
			Out(&H378, 111)
		ElseIf pin1.Text = "On" And pin2.Text = "Off" And pin3.Text = "Off" Then
			Out(&H378, 1)
		ElseIf pin1.Text = "On" And pin2.Text = "On" And pin3.Text = "Off" Then
			Out(&H378, 11)
		ElseIf pin1.Text = "Off" And pin2.Text = "Off" And pin3.Text = "On" Then
			Out(&H378, 4)
		ElseIf pin1.Text = "Off" And pin2.Text = "On" And pin3.Text = "Off" Then
			Out(&H378, 2)
		ElseIf pin1.Text = "On" And pin2.Text = "Off" And pin3.Text = "On" Then
			Out(&H378, 101)
		ElseIf pin1.Text = "Off" And pin2.Text = "On" And pin3.Text = "On" Then
			Out(&H378, 1)
		End If
	End Sub

	Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
		Out(&H378, 0) ' send 0000 0000 to printer port...
		pin1.Text = "Off"
		pin2.Text = "Off"
		pin3.Text = "Off"
	End Sub
End Class

si ce nu inteleg eu si nu gasesc deloc este valoarea celui de al doilea parametru al functiei OUT()
sunt 8 biti astia pot fi on sau of sau 1 sau 0
dar daca eu am Pin1 = On Pin2 = Off Pin3 = On etc ... cum va arata al doilea parametru

#3
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,570
  • Înscris: 30.07.2003
Dar acest inpout32.dll nu are si el o documentatie ?
Nefiind standard din .NET nu stiu cati il cunosc deoarece exista clase speciale in .NET pentru comunicatia seriala.

LE: primul parametru e adresa si prin asta identifici portul paralel/serial iar al doilea e valoarea. Tu transmiti un octet dar acesta il compui din bitii care te intereseaza.

Edited by neagu_laurentiu, 28 September 2009 - 19:13.


#4
scorillobr

scorillobr

    Junior Member

  • Grup: Members
  • Posts: 89
  • Înscris: 06.02.2007
http://logix4u.net/L...dll_works_.html

#5
sarrieri

sarrieri

    Junior Member

  • Grup: Members
  • Posts: 53
  • Înscris: 21.01.2007
in primul rand multumesc mult pt raspuns
in al doilea rand nu am gasit nici un fel de manual de utilizare a dll-ului mentionat tot ce stiu este ca a doua valoare a functie este gexadecimala si nu gasesc cum sa transform din decimal in hexadecimal de mentionat este ca daca folosesc valoarea 01 nu se aprinde ledul 2 pt ca 0 dispare si ramine doar 1 daca scriu 101 se aprin ledurile 1 si 3 :) am gastit tot aici pe forum o formula .. ceva de genul

Out &H378, &H1 Or &H9

unde :

ledul1=&H1;
ledul2=&H2;
ledul3=&H4;
ledul4=&H8;
ledul5=&H10;
ledul6=&H20;
ledul7=&H40;
ledul8=&H80;

nu am inteles insa "pentru a aprinde mai multe leduri trimiti o valoare combinata cu "or logic".

Un ultim exemplu (cu riscul de a ma repeta):

Pentru a aprinde ledul 2 si 4: OUT &H378,&H2 "or logic" &H8 "

de mentionat ca eu nu ma pricep deloc la vb iar tot ce am facut pana acum am facut pentru ca am incercat sa folosesc cea ce stiu din php unde m-as descurca mult mai bine dar ....

anyway o sa ii dau o incercare am gasit pe net un programel care face asta dar nu am gasit si sursa lui :( si asta e trist

multumesc inca o data

#6
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,194
  • Înscris: 24.02.2007
OUT &H378, &H2 OR &H8
Operatii pe biti trebuie sa tie orice programator...

#7
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,570
  • Înscris: 30.07.2003
Da, am gasit intre timp.
http://www.codeproje...out32_read.aspx

#8
sarrieri

sarrieri

    Junior Member

  • Grup: Members
  • Posts: 53
  • Înscris: 21.01.2007
scorillobr , multumesc am vazut pagina asta dar problema este ca nici acolo dupa cum vezi nu este specificat cum sa te adresezi pinilor mie asta imi trebuie in mare parte restul este detul de usor combinand cea ce deja stiu din php si cu autocomplete-ul din vb express am facut deja un cod si continui sa fac logica e simpla doar adresa pinilor imi trebuie si cum sa pot face diverse combinatii de pini  daca ai cumva o idee te rog sa postezi ceva aici ma repet sant doar un mic programator php este foarte diferit

View Postscorillobr, on 28th September 2009, 20:24, said:


Da Laurentiu , am vazut si eu totrialul asta este singurul relevant de o saptamana caut pe net metode sa fac asta dani.user  imi pare rau este prima mea "intalnire cu vb " repet tot ce stiu este php , mysql , putin javascript si ajax dar vreau sa invat si cu ajutorul vostru o sa reusesc asa ca va multumesc la toti !

#9
sarrieri

sarrieri

    Junior Member

  • Grup: Members
  • Posts: 53
  • Înscris: 21.01.2007
Multumesc baieti am reusit cu ajutorul vostru acum vreau sa imbunatatesc putin interfata programului si ulterior daca o sa imi vina o idee noua poate o sa modific putin condul in prezent el arata cam asa
Private Sub pin1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pin1.Click
		If pin1.Text = "Off" Then
			pin1.Text = "On"
		Else
			pin1.Text = "Off"
		End If

		If pin1.Text = "Off" And pin2.Text = "Off" And pin3.Text = "Off" Then
			Out(&H378, 0)
		ElseIf pin1.Text = "On" And pin2.Text = "Off" And pin3.Text = "Off" Then
			Out(&H378, &H1)
		ElseIf pin1.Text = "On" And pin2.Text = "On" And pin3.Text = "Off" Then
			Out(&H378, &H1 Or &H2)
		ElseIf pin1.Text = "On" And pin2.Text = "On" And pin3.Text = "On" Then
			Out(&H378, &H1 Or &H2 Or &H4)
		ElseIf pin1.Text = "Off" And pin2.Text = "On" And pin3.Text = "On" Then
			Out(&H378, &H2 Or &H4)
		ElseIf pin1.Text = "Off" And pin2.Text = "Off" And pin3.Text = "On" Then
			Out(&H378, &H4)
		ElseIf pin1.Text = "Off" And pin2.Text = "On" And pin3.Text = "Off" Then
			Out(&H378, &H2)
		ElseIf pin1.Text = "On" And pin2.Text = "Off" And pin3.Text = "On" Then
			Out(&H378, &H1 Or &H4)
		End If

	End Sub

problema este ca momentan am doar 3 butoane dar in momentul in care voi avea 8 codul va fi mult mai mare si mult mai multe posibilitati deci mai multe if-uri ..  in continuare vrea sa gasesc un tutorial despre cum sa declar variabile si functii personale in vb express pentru ca as vrea sa fac codul un pic mai simplu si mai ordonat .
Ulterior vrea sa invat mai mult si sa implementez si alte lucruri cum ar fi un mp3player care sa citeasca de pe hdd continutul unui animit folder dintr-un grup de foldere care vor fi defapt categorii gen : Romantic , HIP - HOP , R&B etc .. si cand buzunarul o sa imi permita poate ca o sa achizitionez un monitor touchscreen pentru prociectul meu , multumesc pt ajutor !

si daca aveti cunostinta de ceva link-uri bune catre turoriale despre declalarea variabilelor si functiilor va rog sa le postati aici !

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate