Private Sub SerialPort4_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort4.DataReceived Try buffer = SerialPort4.ReadLine() Catch ex As Exception End Try End Sub lit la ligne entiére défini par la fin de trame
' Configuration du port série utilisé par le module secheur Try With SerialPort3 .PortName = LireINI("com3", "Portname") .BaudRate = CInt(LireINI("com3", "Vitesse")) .DataBits = CInt(LireINI("com3", "Databits")) .StopBits = CType(LireINI("com3", "Stopbit"), Ports.StopBits) .Handshake = CType(LireINI("com3", "protocole"), Ports.Handshake) .NewLine = vbCrLf 'Chr(10) & Chr(13) ' défini la fin de trame (CR+LF) différent de vbcrlf ! .Open() End With Catch ex As Exception MsgBox("COM3 plus disponible", MsgBoxStyle.Critical) End Try ' Configuration du port série utilisé par le module mousse Try With SerialPort4 .PortName = LireINI("com4", "Portname") .BaudRate = CInt(LireINI("com4", "Vitesse")) .DataBits = CInt(LireINI("com4", "Databits")) .StopBits = CType(LireINI("com4", "Stopbit"), Ports.StopBits) .Handshake = CType(LireINI("com4", "protocole"), Ports.Handshake) .NewLine = Chr(32) & Chr(60) ' défini la fin de trame du th200 .Open() End With Catch ex As Exception MsgBox("COM4 plus disponible", MsgBoxStyle.Critical) End Try
Private Function lecturePoids() As Double buffer = String.Empty ' efface les anciennes valeurs Dim data As Double Dim out As Boolean = False 'pour sortir de la boucle Dim ok As Boolean = False ' test si on doit traduire la réception ou pas Dim fin As Double fin = Environment.TickCount + 500 ' On ajoute 1/2sec au compteur programme pour avoir le temps Do 'ecriture SerialPort1.WriteLine("GR10") Application.DoEvents() Pause(100) ' diminuer selon ton besoin ' si il y a une réception dans le buffer et s'il contient un poids If Not buffer Is Nothing AndAlso buffer.Contains("kg") Then out = True ok = True ElseIf ((Environment.TickCount >= fin)) Then 'And buffer Is Nothing Then out = True ok = False ' affiche le défaut dans la listview Ajout_ligne_LV1(4, "pas de réponse du module de pesage") End If Loop While (out = False)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question