我遇到的問題可能主要是因爲我在VB.net很新,反正事情是,我能夠成功地從微控制器接收數據。來自微控制器的數據的格式如下所示使用從串口接收到的數據的問題
0,2 1023,1023 1023,1023 1023,1023
1,5- 1023,1023 1023,1023 1023,1023
2, 8 1023,1023 1023,1023 1023,1023
3,11 1023,1023 1023,1023 1023,1023
4,14 1023,1023 1023,1023 1023,1023
5,17 1023 ,1023 1023,1023 1 023,1023
這裏主要微控制器是給我在[X1,Y1 X2,Y2 X3,Y3 X4,Y4]格式
現在我很感興趣,只使用第一對座標和協調的四個不同點可能會保存在兩個不同的數組x1和y1中。然後我想用這兩個座標作爲屏幕座標。
Public Class Form1
Public Delegate Sub myDelegate()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
sp1.Open()
End Sub
Public Sub updateTextBox()
Dim strarr(8) As String
Dim str1 As String
str1 = sp1.ReadLine
txtreceive.AppendText(str1)
strarr = str1.Split(",")
Dim x1 As Double
x1 = Val(strarr(0))
MsgBox(x1)
txtreceive.ScrollToCaret()
End Sub
Private Sub sp1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles sp1.DataReceived
txtreceive.Invoke(New myDelegate(AddressOf updateTextBox), New Object() {})
End Sub
Private Sub txtreceive_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtreceive.TextChanged
End Sub
End Class
這裏我得到了第一對的x座標,但每當我試圖從第一對中得到y1,我都會收到錯誤。它說「索引超出了數組的範圍」。現在如果有另一種獲取數據的方式,請給我建議。謝謝
你試過什麼代碼來得到'y1'?你已經把它從這個例子中刪除了,但'y1 = Val(strarr(1))'* should *工作。 – ChrisF
我確實使用了這個代碼y1 = Val(strarr(1)),但y1被聲明爲double。現在是這個原因或其他我不知道。但它給了我「索引超出數組範圍」的錯誤。 – Shuvo
我沒有包括聲明,但假設'y1'被正確聲明。 – ChrisF