Vb.net 而循环永远不会在visual basic中将数据发送到串行端口中结束
我正试图将一些数据发送到串行端口!实际上,我使用的是一个从0到100的schroll杆 当我选择一个值时,比如说44,数据连续进入串行,但不能停止,程序冻结在连续循环中,我尝试了很多方法。。这是代码Vb.net 而循环永远不会在visual basic中将数据发送到串行端口中结束,vb.net,Vb.net,我正试图将一些数据发送到串行端口!实际上,我使用的是一个从0到100的schroll杆 当我选择一个值时,比如说44,数据连续进入串行,但不能停止,程序冻结在连续循环中,我尝试了很多方法。。这是代码 Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll Label6.T
Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll
Label6.Text = ""
Label4.Text = ""
Label1.Text = "Pwm " + Format(HScrollBar1.Value) + " %"
x = Format(HScrollBar1.Value)
Try
Do While x > 0
SerialPort1.Open()
SerialPort1.Write(x)
If x = 0 Then
Exit Do
End If
Loop
SerialPort1.Close()
Catch ex As Exception 'se periptwsh pou paei na ginei exception dld na mhn uparxei katholou h seiriakh pou epilekxthke kanei catch exception kai emfanizei mhnuma lathous
Label1.Text = "No Serial Port is Connected"
Label4.Text = ""
End Try
End Sub
但决不能转到0使循环停止
谢谢!!但是我知道一件对我不起作用的事情!!想象一下,当我将条从0滚动到100并停止时,让我们说,到43,我希望43转到串行,直到我说不去!我想要这个,因为43代表pwm到arduino端口,所以arduino一直读取这个数字,并将其转换为pwm输出信号,如果它取零,我希望pwm信号停止..但一旦我进入循环x就永远不能归零(无限循环)!还有其他建议吗
好吧,你是我的上帝!!!呵呵,我已经调查过了,我想我正在努力工作!!我为start和stop添加了两个额外的按钮,因此现在的代码是:
私有子HScrollBar1_Scroll(ByVal sender作为System.Object,ByVal e作为System.Windows.Forms.ScrollEventArgs)处理HScrollBar1.Scroll
Label6.Text=“”
Label4.Text=“”
Label1.Text=“Pwm”+格式(HScrollBar1.Value)+“%
滚动=格式(HScrollBar1.Value)
您的“x”值永远不会更改,因此
do。。。而
循环从不终止
Do While x > 0
SerialPort1.Open()
SerialPort1.Write(x)
If x = 0 Then
Exit Do
Else
x -= 1
End If
Loop
您的“x”值永远不会更改,因此
do。。。而
循环从不终止
Do While x > 0
SerialPort1.Open()
SerialPort1.Write(x)
If x = 0 Then
Exit Do
Else
x -= 1
End If
Loop
您的“x”值永远不会更改,因此
do。。。而
循环从不终止
Do While x > 0
SerialPort1.Open()
SerialPort1.Write(x)
If x = 0 Then
Exit Do
Else
x -= 1
End If
Loop
您的“x”值永远不会更改,因此
do。。。而
循环从不终止
Do While x > 0
SerialPort1.Open()
SerialPort1.Write(x)
If x = 0 Then
Exit Do
Else
x -= 1
End If
Loop
将代码更改为:
Do While x > 0
SerialPort1.Open()
SerialPort1.Write(x)
If x = 0 Then
Exit Do
End If
x -= 1 '' this is newly added line
Loop
将代码更改为:
Do While x > 0
SerialPort1.Open()
SerialPort1.Write(x)
If x = 0 Then
Exit Do
End If
x -= 1 '' this is newly added line
Loop
将代码更改为:
Do While x > 0
SerialPort1.Open()
SerialPort1.Write(x)
If x = 0 Then
Exit Do
End If
x -= 1 '' this is newly added line
Loop
将代码更改为:
Do While x > 0
SerialPort1.Open()
SerialPort1.Write(x)
If x = 0 Then
Exit Do
End If
x -= 1 '' this is newly added line
Loop
如果要在用户采取某些操作之前持续发送,则需要将其卸载到BackgroundWorker。如果要在用户采取某些操作之前持续发送,则需要将其卸载到BackgroundWorker。如果要在用户采取某些操作之前持续发送,您需要将此卸载到BackgroundWorker。如果您希望在用户采取某些操作之前持续发送,则需要将此卸载到BackgroundWorker。