Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 而循环永远不会在visual basic中将数据发送到串行端口中结束_Vb.net - Fatal编程技术网

Vb.net 而循环永远不会在visual basic中将数据发送到串行端口中结束

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

我正试图将一些数据发送到串行端口!实际上,我使用的是一个从0到100的schroll杆 当我选择一个值时,比如说44,数据连续进入串行,但不能停止,程序冻结在连续循环中,我尝试了很多方法。。这是代码

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。