Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1630 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Surveillance du port parallèle

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Surveillance du port parallèle

n°900864
chris500
Posté le 17-11-2004 à 16:51:41  profilanswer
 

Je suis entrain de développer une application avec un capteur relié au port parallèle du PC (pour info, c'est sur la broche 12 : gestion du papier)
Je cherche une Dll ou un composant en VB .Net permettant d'effectuer les requêtes sur le port parallèle.
 
Merci d'avance

mood
Publicité
Posté le 17-11-2004 à 16:51:41  profilanswer
 

n°900903
HelloWorld
Salut tout le monde!
Posté le 17-11-2004 à 17:21:14  profilanswer
 

http://www.lvr.com/parport.htm
http://www.thecodeproject.com/csha [...] iances.asp
Attention, utiliser un driver = être admin pour utiliser l'appli.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°900907
chris500
Posté le 17-11-2004 à 17:27:05  profilanswer
 

Merci.
 
Je regarde et vous tiens au courant...

n°900957
chris500
Posté le 17-11-2004 à 18:18:51  profilanswer
 

J'ai téléchargé la Dll Inpout.Dll, mais je n'arrive pas à lire les broches de contrôle (paper, ack, busy, ...)

n°900963
HelloWorld
Salut tout le monde!
Posté le 17-11-2004 à 18:28:20  profilanswer
 

c.a.d, c koi l'erreur ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°900964
chris500
Posté le 17-11-2004 à 18:31:02  profilanswer
 

je n'arrive pas à appeler correctement la fonction...
il n'y a pas de message, mais juste que je ne sais pas comment lire une broche de controle spécifique
 
Merci d'avance pour toute aide apportée

n°900969
HelloWorld
Salut tout le monde!
Posté le 17-11-2004 à 18:34:24  profilanswer
 

Tu fais comment ? (code)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°900983
chris500
Posté le 17-11-2004 à 18:43:56  profilanswer
 

Les seules fonctions et procédures dont j'ai les prototypes sont les suivantes :
 
Private Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer
 
Private Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
 
donc je ne sais pas comment avoir les broches de controle...


Message édité par chris500 le 17-11-2004 à 18:57:06
n°901534
chris500
Posté le 18-11-2004 à 10:30:25  profilanswer
 

Help !

n°901563
HelloWorld
Salut tout le monde!
Posté le 18-11-2004 à 10:57:41  profilanswer
 

Ben oui, c'est pour écrire sur les IO ports. T'as des exemples dans l'article :

Code :
  1. val=axHwinterface1.InPort(888);
  2. axHwinterface1.OutPort(888,(short)(val|2));


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
mood
Publicité
Posté le 18-11-2004 à 10:57:41  profilanswer
 

n°901674
chris500
Posté le 18-11-2004 à 12:59:46  profilanswer
 

Ecrire sur le port, ça va, c'est lire les broches de contrôles qui me pose problème (Paper out, Ack, ...)

n°901756
HelloWorld
Salut tout le monde!
Posté le 18-11-2004 à 14:05:20  profilanswer
 

Citation :

12 Paper-Out In Status-5


Tu lis le port de status et test le bit 5...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°901800
chris500
Posté le 18-11-2004 à 14:23:18  profilanswer
 

Bon, j'ai remis tout à plat, et quand je fait une simple fenêtre avec un bouton, telle que ça :
 
 
Public Class Form1
    Inherits System.Windows.Forms.Form
 
#Region " Code généré par le Concepteur Windows Form "
 
    Private Declare Function Inp32 Lib "inpout32.dll" (ByVal PortAddress As Integer) As Integer
    Private Declare Sub Out32 Lib "inpout32.dll" (ByVal PortAddress As Integer, ByVal Value As Integer)
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Valeur As Integer = 0
 
        Try
            Valeur = Inp32(888)
 
            'MessageBox.Show(CStr(Inp32(888)), "Valeur" )
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Erreur" )
 
        End Try
 
    End Sub
End Class
 
=> je compile, la Dll inpout32.Dll est bien dans le répertoire bin avec le .Exe, mais j'ai l'erreur suivante :
"Un composant externe a levé une exception"
 
J'y comprends plus rien  :cry:

n°901941
HelloWorld
Salut tout le monde!
Posté le 18-11-2004 à 15:29:30  profilanswer
 

L'exemple su site fonctionne ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°901954
chris500
Posté le 18-11-2004 à 15:52:10  profilanswer
 

l'exemple du site est en C++
Moi je le veux en VB .Net et il ne marche pas :cry:

n°902005
HelloWorld
Salut tout le monde!
Posté le 18-11-2004 à 17:08:17  profilanswer
 

HelloWorld a écrit :

L'exemple su site fonctionne ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°902043
chris500
Posté le 18-11-2004 à 17:34:27  profilanswer
 

Je n'arrive pas à le faire fonctionner...

n°902050
HelloWorld
Salut tout le monde!
Posté le 18-11-2004 à 17:40:28  profilanswer
 

C'est quoi l'erreur ? Es-tu administrateur ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°902333
chris500
Posté le 18-11-2004 à 23:05:32  profilanswer
 

oui, je suis administrateur de la machine
Le message d'erreur est le suivant :
"Un composant externe a levé une exception"  

n°902376
HelloWorld
Salut tout le monde!
Posté le 18-11-2004 à 23:56:39  profilanswer
 

Utilise un autre driver que inpout32. Y'en a une tartine sur le 1° lien donné.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°903869
Tamahome
⭐⭐⭐⭐⭐
Posté le 21-11-2004 à 09:26:11  profilanswer
 

chris500 a écrit :

oui, je suis administrateur de la machine
Le message d'erreur est le suivant :
"Un composant externe a levé une exception"


 
laquelle ?

n°904264
chris500
Posté le 21-11-2004 à 20:00:04  profilanswer
 

Voici le message d'erreur ex.ToString
 
System.Runtime.InteropSerices.SEHException: Un composant externe a levé une exception.
 at MonProjet.Form1.Inp32(Int32 PortAddress)
 
Précision : MonProjet est le nom de mon projet...

n°904308
Tamahome
⭐⭐⭐⭐⭐
Posté le 21-11-2004 à 21:58:02  profilanswer
 

tu lui donnes quoi comme PortAddress ? C'est un entier valide ?
 
Edit : l'InnerException.Message de l'exception vaut quoi ?


Message édité par Tamahome le 21-11-2004 à 21:58:48

---------------
Hobby eien /人◕ ‿‿ ◕人\
n°904905
chris500
Posté le 22-11-2004 à 18:31:11  profilanswer
 

le PortAddress est 888 (décimal, soit 378 en hexa), comme indiqué dans le source situé plus haut
 
Pour le InnerException, quand je mets le code
MessageBox.Show(ex.InnerException.Message, "Erreur" )
=> plantage :
"Une exception non gérée du type 'System.NullReferenceException' s'est produite dans MonProjet.exe
 
Informations supplémentaires : La référence d'objet n'est pas définie à une instance d'un objet."

n°904934
Tamahome
⭐⭐⭐⭐⭐
Posté le 22-11-2004 à 19:27:22  profilanswer
 

ouais ca veut dire que y'a pas l'innerexception de renseigné, dommage :o
 
Essayes "0x378" a la place de "888" mais je doute que ca passe mieux :o
 
Edit : verifie dans ton bios que l'adresse du port est ok qd meme :o


Message édité par Tamahome le 22-11-2004 à 19:27:53

---------------
Hobby eien /人◕ ‿‿ ◕人\
n°905020
chris500
Posté le 22-11-2004 à 21:54:08  profilanswer
 

pas de changement avec l'hexadécimal...
dans le bios, le port et bien défini en 0x378 (standard habituel)
 
tu n'aurais pas un exemple de code VB .Net que tu aurais testé par hazard ?
 
Merci d'avance.

n°905259
Tamahome
⭐⭐⭐⭐⭐
Posté le 23-11-2004 à 09:23:43  profilanswer
 

ptet que faut trifouiller les options dans le bios (birectionnel, parité, etc...) Mais je pense pas, la on dirait plutot qu'il n'arrive pas a instancier un objet au sein de ton API... Donc je dirai plutot pbm de version de l'api avec ton framework (quelle verion ? 1.1 ?)


---------------
Hobby eien /人◕ ‿‿ ◕人\
n°905277
HelloWorld
Salut tout le monde!
Posté le 23-11-2004 à 10:08:36  profilanswer
 

Il fait un dll import sur une dll non managée qui installe un driver...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°905592
Tamahome
⭐⭐⭐⭐⭐
Posté le 23-11-2004 à 14:43:05  profilanswer
 

rhoo le vilain :o


---------------
Hobby eien /人◕ ‿‿ ◕人\
n°906092
chris500
Posté le 23-11-2004 à 22:03:26  profilanswer
 

HelloWorld a écrit :

Il fait un dll import sur une dll non managée qui installe un driver...


 
heeeuuuuu !
Je suis désolé de paraitre ignorant, mais je ne comprends pas !  :pt1cable: Disons que je suis un grand débutant sur VB .Net
 
Quelle est la syntaxe correcte pour appeler cette Dll (et les fonctions qui vont avec)
 
Merci d'avance.  :hello:  
 

n°906184
HelloWorld
Salut tout le monde!
Posté le 23-11-2004 à 23:38:45  profilanswer
 

Je pense que ta déclaration est bonne. C'est juste que la dll que tu utilises se vautre.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°906254
chris500
Posté le 24-11-2004 à 07:29:39  profilanswer
 

Et aurais tu une solution en VB .net avec une autre Dll et qui marche ?
 
Merci :hello:

n°906362
HelloWorld
Salut tout le monde!
Posté le 24-11-2004 à 10:48:50  profilanswer
 

Je t'ai donné un lien avec plein d'autres dll. Moi j'avais etsté avec succès celle de internals (winio).


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°906945
chris500
Posté le 24-11-2004 à 19:14:12  profilanswer
 

ok merci, je testes et te tiens au courant

n°907123
chris500
Posté le 24-11-2004 à 22:15:08  profilanswer
 

Bon, j'ai downloadé winio, adapté le code VB pour du VB .Net, et CA MARCHE  :bounce:  
 
Merci encore !

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Surveillance du port parallèle

 

Sujets relatifs
port particulier pour une extension particulière [Vc++] capteur sur port parallele XP/2000
port httpsLire et ecrire des informations sur le port USB
pb tcp ip sur le port 515 (printer)est-c possible de controler une broche du port serie ?
port série win 98question (simple) sur le port série
I/O sur le port série 
Plus de sujets relatifs à : Surveillance du port parallèle


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR