第一個for完成對delay_time參數的控制,即共循環多少次內部循環
創新互聯專業為企業提供撫松網站建設、撫松做網站、撫松網站設計、撫松網站制作等企業網站建設、網頁設計與制作、撫松企業網站模板建站服務,10多年撫松做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
第二個for(內部循環),完成對j從0到199的控制,共循環200次。
翻譯成匯編就是:
(R0為傳遞參數)
DELAY:
MOV R1,#200
DJNZ R1,$
DJNZ R0,DELAY
RET
Threading.Thread.Sleep(500)這句是線程停止等待的,在這500毫秒的時間里你的任何動作都是不響應的,理論上再SendKeys.Send(TextBox2.Text)這段時間內你可以動作,但是send是毫秒級完成的,你還沒有來得及響應就進入了下一次的循環,所以跟卡死類似
解決方法:通過timer定時器延時
接收單片機的數據沒有事件響應 我在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 希望大哥能提供讓程序等待的代碼,例子也行
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
網站標題:vb.net線程延時的簡單介紹
分享URL:http://m.kartarina.com/article26/hgjsjg.html
成都網站建設公司_創新互聯,為您提供Google、電子商務、網站設計公司、響應式網站、網頁設計公司、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯