第一个for完成对delay_time参数的控制,即共循环多少次内部循环
创新互联云计算的互联网服务提供商,拥有超过13年的服务器租用、成都服务器托管、云服务器、虚拟主机、网站系统开发经验,已先后获得国家工业和信息化部颁发的互联网数据中心业务许可证。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
第二个for(内部循环),完成对j从0到199的控制,共循环200次。
翻译成汇编就是:
(R0为传递参数)
DELAY:
MOV R1,#200
DJNZ R1,$
DJNZ R0,DELAY
RET
Imports System.Threading
Thread.Sleep(1000)’延迟1秒
2.PauseWait(1000)’延迟1秒
Public Sub PauseWait(ByVal HowLong As Long)
Dim tick As Long
tick = My.Computer.Clock.TickCount
Do
My.Application.DoEvents()
Loop Until tick + HowLong My.Computer.Clock.TickCount
End Sub
Dim b As Boolean = My.Computer.Network.Ping("192.168.1.1", 1000) '返回ping结果,true表示通,false表示不通,1000表示1000毫秒内返回结果
If b = True Then '指定时间内ping通
Shell("cmd /c ping 192.168.1.1 C:\time.txt") '在C盘time.txt文件中保存ping的结果
Else '超时
MsgBox("999") '弹出999提示
End If
接收单片机的数据没有事件响应 我在While循环中不停的判断单片机所收到的数据是否等于我所发的数据,若不相等,则我再发一次,然后再收,程序如下: Private Sub Write_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Write.Click '以下CWSerial是串口通信控件,Read和Write方法分别是收数据和发数据 CWSerial1.Write(TextOut.Text) '发数据 While (CWSerial1.Read() TextOut.Text) 'TextOut.Text是我要发的数据 MsgBox( "未能正确收到! ") CWSerial1.Write(TextOut.Text) '再发一次 End While MsgBox( "已正确收到! ") End Sub 关键是在发和收之间有个延迟(TimeOut),不可能我刚发完数据后就可以马上收到数据,必须等待1s后才有可能收到数据(我设的TimeOut为1000ms),我想要做的就是让程序等待1s 希望大哥能提供让程序等待的代码,例子也行
Private Sub Button1_Click()
MsgBox("A")
Threading.Thread.Sleep(3000)
MsgBox("B")
End Sub
如果暂停的3秒有影响,就给他开一个线程:
Private Sub Button1_Click()
Dim th As New Threading.Thread(AddressOf MsgBoxProc)
th.Start()
End Sub
Private Sub MsgBoxProc()
MsgBox("A")
Threading.Thread.Sleep(3000)
MsgBox("B")
End Sub