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结束所有正在运行的程序? 展开
 我来答
扶桑看天
2015-04-16 · TA获得超过838个赞
知道小有建树答主
回答量:373
采纳率:100%
帮助的人:253万
展开全部
按钮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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式