VB与单片机串口通讯,VB界面按钮1点击后,传送数据到单片机点亮led1,一分钟后再传送数据点亮l
VB与单片机串口通讯,VB界面按钮1点击后,传送数据到单片机点亮led1,一分钟后再传送数据点亮led2,知道点亮8个led。按钮2点击后传送数据关闭所有led。问题来了...
VB与单片机串口通讯,VB界面按钮1点击后,传送数据到单片机点亮led1,一分钟后再传送数据点亮led2,知道点亮8个led。按钮2点击后传送数据关闭所有led。问题来了,当按下按钮1后,8个led还未全部点亮时,按下按钮2,led全灭了,但之后又接着执行按钮1未执行的程序,如何让按钮2结束所有正在运行的程序?
展开
1个回答
展开全部
按钮1中加判断标志位,即bool型变量,按下按钮2时标志位赋值退出按钮1过程
追问
能写点简单代码吗?比如程序
private Sub Command1_Click()
print "1"
delay(10)
print "2"
delay(10)
End Sub
判断标志位写在哪?
追答
Dim tempStop As Boolean
Private Sub Command1_Click()
tempStop = False
'假设P0控灯00000001,简单意思下吧
P01 = 1
DelayTimes 1, 0, tempStop
P01 = 0
P02 = 1
DelayTimes 1, 0, tempStop
End Sub
Private Sub Command2_Click()
tempStop = True
End Sub
'附自定义延时函数
Public Function DelayTimes(Mins%, Secs%, Optional ByRef StopFlag) As Long
Dim EndOfDelay
EndOfDelay = DateAdd("n", Mins, Now)
EndOfDelay = DateAdd("s", Secs, EndOfDelay)
DelayTimes = 0
Do While (Now < EndOfDelay)
DoEvents
Sleep (1)
If Not IsMissing(StopFlag) Then
If StopFlag Then
DelayTimes = 1
StopFlag = False
Exit Do
End If
End If
Loop
End Function
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询