1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
Imports System.IO
Imports Strings = Microsoft.VisualBasic
Public Class Form1
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer)
Dim WithEvents serialPort As New IO.Ports.SerialPort
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Timer1.Enabled = True
Timer1.Interval = 5000
Array.Clear(RegistreMicro, 0, 2) 'effacer le tableau, j'ai mis 2, sans savoir...
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Call SerialTxRx() ' talk to picaxe
End Sub
Sub SerialTxRx()
Dim LabelContenu As String
Dim Donnee(0 To 1) As Byte '1donnée qui doit être reçue?
Label1.Text = ""
If serialPort.IsOpen Then
serialPort.Close()
End If
Try
With serialPort
.PortName = "COM3"
.BaudRate = 4800
.Parity = IO.Ports.Parity.None
.DataBits = 8
.StopBits = IO.Ports.StopBits.One
.ReadTimeout = 1000
.Open()
.DiscardInBuffer()
Call Sleep(500)
'C'est ici que je souhaiterai lire les données
'La méthode Read?
'.Read(buffer, offset, count)
'buffer : Tableau d'octets dans lequel l'entrée doit être écrite.
'offset : Offset dans le tableau de la mémoire tampon à partir duquel 'commencer l'écriture.
'count : Nombre d'octets à lire
'.Read(Donnee, 0, 1) ?
.Close() ' close the serial port
End With
'Ici l'affichage ?
'LabelContenu = Str(Donnee(1))
'Label1.Text = LabelContenu
Label1.Text = "Timeout"
End Try
End Sub
End Class |
Partager