我試圖從一臺計算機發送到PIC單字節(注:PIC只接受否則將只接受數據的第一個字節一個字節發送)VB.Net發送UDP小數
這應該不是什麼大問題,因爲我只想管理總共8個LED,所以我只需要它從0到255,但我遇到了這個問題。 如果我嘗試爲值1發送到PIC我的程序發送31,如果我嘗試發送5將其發送35如果我嘗試發送255把它發送3 * * 3 * * 3 * *因此,我嘗試發送的每個數字都在其前面添加了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
順便說一句,如果你設置'選項顯式On'和'選項推斷Off',你會看到爲什麼這個代碼不起作用。 – hometoast
如果您在收到數據時遇到問題,請確保您已收到您發送的所有*字節。如果這個提示沒有幫助;最好問一個[新問題](http://stackoverflow.com/questions/ask)。 – hometoast