首先,对标题感到抱歉,它确实没有多大帮助,主要是因为我不知道问题是什么或它在哪里。
守则:
If ComboBox.SelectedItem = "A Particular Control Method" Then
OpenPort()
ButtonTimer.Reset()
'Loop through each row in DGV, resetting port and startng a new timer for each
For iRows As Integer = 0 To dgvMain.RowCount - 1
PortStop()
swTimer.Start()
'Write direction to port while timer is less than listed length, then stop timer
Try
Do While (Math.Round((swTimer.ElapsedTicks / Stopwatch.Frequency), 1)) < dgvMain.Rows(iRows).Cells(1).Value
Application.DoEvents()
PortWrite(dgvMain.Rows(iRows).Cells(2).Value)
Loop
MsgBox(dgvMain.Rows(iRows).Cells(0).Value)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
swTimer.Stop()
swTimer.Reset()
PortStop()
Next
PortStop()
swTimer.Stop()
swTimer.Reset()
End If
我的代码旨在通过各种命令控制arduino。我有一个实时控制系统(利用屏幕按钮和键盘)完美的工作。因此,我知道端口打开(这是一个子程序),端口发送和所有命令都有效(此代码使用相同的按钮,但设置为不同的模式)。
我的想法是按一个按钮一段时间,它将它记录到一行,按钮指向另一行。这很好。我们的想法是能够“编程”一个命令列表,然后使用数据网格视图控件进行编辑。
所以,我的问题是代码不起作用。它永远不会超过第二行,除非只有两行,在这种情况下它不会越过第一行。在所有情况下,它都会陷入特定命令并崩溃。
对不起,我无法提供更多信息 - 我真的无法解决这个问题。如果我能特别提供任何东西,请告诉我,这让我很沮丧。