我正在尝试从计算机向 PIC 发送一个字节(注意:PIC 只接受一个字节,否则它将只接受数据发送的第一个字节)
这应该不是什么大问题,因为我只想管理总共 8 个 LED,所以我只需要它从 0 到 255,但我在实现这一点时遇到了问题。如果我尝试将值 1 发送到 pic 我的程序发送 31 如果我尝试发送 5 它发送 35 如果我尝试发送 255 它发送 3* 2 *3* 5 *3* 5 * 所以对于每一个数字我尝试发送它在它前面添加一个 3。我正在使用以下代码来确定值并发送它:
Dim t As Integer = 0
Dim result As Integer = 0
For Each chk As CheckBox In GroupBox1.Controls
If chk.Checked = True Then
result = result + 2 ^ t
End If
t = t + 1
Next
publisher.Connect(IPTo, PortTo)
Dim sendbytes() As Byte = ASCII.GetBytes(result)
publisher.Send(sendbytes, sendbytes.Length)
我认为问题在于转换为 ASCII。
我还尝试从 PIC 接收输入到我的电脑,为此我在计时器中有以下脚本:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Try
Dim ep As IPEndPoint = New IPEndPoint(IPAddress.Any, 0)
Dim rcvbytes() As Byte = subscriber.Receive(ep)
Dim translate As String
translate = System.BitConverter.ToInt32(rcvbytes, 0)
TBRcv.Text = translate
Catch ex As Exception
End Try
End Sub