16,554
社区成员
发帖
与我相关
我的任务
分享
Dim ThreadItem1 As System.Threading.Timer = New System.Threading.Timer(New TimerCallback(AddressOf SimControllSending), autoEvent, 0, 0)
While i <= zzz
autoEvent.WaitOne(999999999, False)
temp = Split(Interval(i), "|")
dueTime = temp(0).Trim()
ThreadItem1.Change(dueTime, 0)
Console.WriteLine("i=" & i & ", " & Interval(i) & "ms")
Console.WriteLine(vbCrLf & "Changing period." & vbCrLf)
i += 1
End While
ThreadItem1.Dispose()
Interval = Nothing
Console.WriteLine(vbCrLf & "Destroying timer.")
Public Sub SimControllSending(stateInfo As Object)
Dim autoEvent As AutoResetEvent = DirectCast(stateInfo, AutoResetEvent)
Dim bDataOut() As Byte, Buf As String
Dim iSentCount As Integer
Dim Encode1 As Encoding = Encoding.ASCII '声明编码对象,使用ASCII
Dim bOutHexTemp() As String
Dim temp As String()
Try
temp = Split(Interval(SimControllerSendCount), "|")
'Me.txtSent.Text = "dfjdjflkjf" 'CStr(SimControllerSendCount)
Buf = temp(1).ToString().Trim()
' txtPacket.Text = "0000000000000" 'Buf
bOutHexTemp = Split(Buf, " ")
ReDim bDataOut(bOutHexTemp.Count - 1)
For i = 0 To bOutHexTemp.Count - 1
bDataOut(i) = Val("&H" & bOutHexTemp(i))
Next
iSentCount = bDataOut.GetLength(0) '发送总字节数
RS232.Write(bDataOut, 0, iSentCount)
Catch ex As Exception
'MessageBox.Show("输入数值错误:" + ex.ToString, "错误通知", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
Console.WriteLine(DateTime.Now.ToString("h:mm:ss.fff") & ", i am sending ...now ... " & Buf)
autoEvent.Set()
SimControllerSendCount += 1
End Sub