Port com 2,3 et 4

cs_lamarine Messages postés 17 Date d'inscription mardi 20 août 2002 Statut Membre Dernière intervention 31 janvier 2007 - 10 avril 2003 à 13:24
cs_timoun Messages postés 2 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 5 janvier 2006 - 11 avril 2007 à 18:04
Bonjour à tous,
J'ai ouvert un port com1 comme suit :

MSComm1.CommPort = 1 ' Utiliser com1
MSComm1.Settings = "115200,N,8,1" ' Set com1
MSComm1.InputLen = 0 ' Lire buffer en entier
MSComm1.PortOpen = True ' Ouvrir com1

Je désire ouvrir les ports com 2 3 et 4 pour d'autres périfériques ?

Suffit-il de changer MSComm1.CommPort = 1 en
MSComm2.CommPort = 2 etc.. ou il y a-t-il une astuce ? Je n'arrive pas à trouver l'info ?

Les autres ports com fonctionnent, je l'ai ai testé avec l'hyperterminal.

D'avance merci

lamarine

2 réponses

HardLittleGirl Messages postés 3 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 13 avril 2006
19 janv. 2006 à 09:18
salut

je te donne un bout de code pour ouvrir 9 port com avec les controle qui vont bien

API pour faire la pause
Private Declare Function GetTickCount Lib "Kernel32" () As Long 'DLL pour la pause (sans bloquer les autres fonctions)


Private Sub cmdBrochage_Click()
If cmdBrochage.Tag = "" Then
Me.Height = 8300
cmdBrochage.Tag = "BROCHAGE"
cmdBrochage.Caption = "<< Cacher"
Else
Me.Height = 4200
cmdBrochage.Tag = ""
cmdBrochage.Caption = "Brochage >>"
End If

End Sub

Private Sub cmdTester_Click()

'--- si le port existe le mot "Présent" s'affiche
'--- et si en plus il y a présence d'un bouchon, le mot "ECHO" est ajouté

On Local Error GoTo Erreur

Dim i, j As Integer

Screen.MousePointer = vbHourglass

For i = 1 To 9
lblCom(i) = "COM " & i & " : Présent "
MSComm.CommPort = i
MSComm.PortOpen = True
MSComm.Output = "+ ECHO"
xWait (30)
lblCom(MSComm.CommPort) = lblCom(MSComm.CommPort) & MSComm.Input
Next i

Screen.MousePointer = vbNormal
Exit Sub

Erreur:
If Err.Number = 8012 Then 'le port n'est pas ouvert
Resume Next
ElseIf Err.Number = 8005 Then 'le port est déjà ouvert
MSComm.PortOpen = False
Resume
ElseIf Err.Number = 8002 Then 'Numéro de port non valide
lblCom(i) = "COM " & i & " : -"
Resume Next
ElseIf Err.Number = 8018 Then 'opération reconnu uniquement sur port ouvert
Resume Next
End If
Screen.MousePointer = vbNormal
End Sub

Private Sub cmdFermer_Click()
End
End Sub

Private Sub xWait(ByVal MilSecToWait As Long)
'Pour faire une pause (en milisecondes) sans bloquer le systême
Dim lngEndingTime As Long
lngEndingTime = GetTickCount() + (MilSecToWait)

Do While GetTickCount() < lngEndingTime
DoEvents
Loop

End Sub

salut bonne chance
0
cs_timoun Messages postés 2 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 5 janvier 2006
11 avril 2007 à 18:04
salut tou le monde, c'a n' a pas apporté une aide concréte !
0
Rejoignez-nous