我有一个可以通过SerialPort与设备通信的应用程序。 我一直在发送命令并接收,但是在2/3小时后,我收到了我写在标题上的消息。
我已经尝试对代码进行一些更改,但是没有成功。
Private Sub timer_Tick(sender As Object, e As EventArgs) Handles timer.Tick
Call New Thread(Sub()
SendCommand(command)
End Sub).Start()
End Sub
Private Sub SendCommand(command as String)
serialPort.DiscardInBuffer()
serialPort.DiscardOutBuffer()
serialPort.Write(command)
End Sub
计时器有400毫秒。 一切正常,但在2/3小时后出现错误: 没有足够的内存资源来处理此命令
问题修复:
Private Sub timer_Tick(sender As Object, e As EventArgs) Handles timer.Tick
Dim t = Task.Run(Sub()
SendCommand(command)
End Sub)
End Sub