DiabloduNord
Messages postés48Date d'inscriptionlundi 11 février 2008StatutMembreDernière intervention22 mai 2010
-
13 août 2009 à 13:41
DiabloduNord
Messages postés48Date d'inscriptionlundi 11 février 2008StatutMembreDernière intervention22 mai 2010
-
14 août 2009 à 00:17
Bonjour,
Je cherche de l'aide car j'ai acheter depuis peu une carte comportant 8 relais et pour faire fonctionner ces derniers il faut brancher la carte d'interface sur un port usb. J'ai un bout de code sous VB6 fournit avec la documentation de la carte. Mais travaillant sous Visual Studio Express je n'arrive pas à utiliser le code. J'ignore si je doit également intégrer la DLL. D'aprés ce que j'ai compris la carte simule un port Serie (COM) et le code donné dans la doc et le suivant :
Private Sub cmdOff_Click()
With MSComm1
'make sure the serial port is open
If .PortOpen False Then .PortOpen True
'send the data
.Output = Chr$(255)
.Output = Chr$(1)
.Output = Chr$(0)
End With 'MSComm1
End Sub
Private Sub cmdOn_Click()
With MSComm1
'make sure the serial port is open
If .PortOpen False Then .PortOpen True
'send the data
.Output = Chr$(255)
.Output = Chr$(1)
.Output = Chr$(1)
End With 'MSComm1
End Sub
Si quelqu'un pouvait m'orienter pour me permettre de réécrire le code, je lui serais trés reconnaissant.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 13 août 2009 à 14:21
Ce qui doit te poser problème est l'objet MSCOMM1, je pense. Ce contrôle est utiliser en VB6 pour s'interfacer avec le port série.
Si en .Net on peut aussi l'utiliser, il vaut mieux utiliser le contrôle SerialPort.
Pour ce qui est d'integrer la dll, il faut regarder la doc. Mais, à priori si tu passe par un port série, tu n'as pas de dll à intégrer dans ton programme.
Il faut bien évidemment installer les drivers de ta carte relais, pour que le port série correspondant soit créé.
[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
DiabloduNord
Messages postés48Date d'inscriptionlundi 11 février 2008StatutMembreDernière intervention22 mai 2010 13 août 2009 à 19:17
Bonsoir,
Donc si je comprend bien cela devrait donné :
Private Sub cmdOff_Click()
With SerialPort1 'make sure the serial port is open
If .PortOpen False Then .PortOpen True
'send the data
.Output = Chr$(255)
.Output = Chr$(1)
.Output = Chr$(0)
End With 'SerialPort1
End Sub
Private Sub cmdOn_Click()
With SerialPort1 'make sure the serial port is open
If .PortOpen False Then .PortOpen True
'send the data
.Output = Chr$(255)
.Output = Chr$(1)
.Output = Chr$(1)
End With 'SerialPort1 End Sub
Merci de confirmer. Si cela s'avère correct je vous remercie infiniment car sa m'enlève une énorme épine du pied.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 13 août 2009 à 20:52
Changer l'objet ne suffit pas, il faut bien évidement aussi adapter le code.
Dans le cas présent le code ressemblera plus à ceci :
Private Sub cmdOn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOn.Click
With SerialPort1
'make sure the serial port is open
If .IsOpen = False Then .Open()
'send the data
.Write(Chr(255))
.Write(Chr(1))
.Write(Chr(1))
End With 'SerialPort1
End Sub
Private Sub cmdOff_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOff.Click
With SerialPort1
'make sure the serial port is open
If .IsOpen = False Then .Open()
'send the data
.Write(Chr(255))
.Write(Chr(1))
.Write(Chr(0))
End With 'SerialPort1
End Sub
[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i