通過定時器來定時檢測是否存在U盤

2021-04-24 14:22:53 字數 1270 閱讀 5536

'**********==宣告部分**********====

option explicit

private declare function getdrivetype lib "kernel32" alias "getdrivetypea" _

(byval ndrive as string) as long

private declare function getlogicaldrivestrings lib "kernel32" alias "getlogicaldrivestringsa" _

(byval nbufferlength as long, byval lpbuffer as string) as long

'**********====timer***************=

private sub timer1_timer()

dim rtn as string, a, b$(), i%, u as boolean

dim alldrives as string

alldrives = space$(64) '設定緩衝

rtn = getlogicaldrivestrings(len(alldrives), alldrives) '呼叫函式得到包含所有驅動器的字串

alldrives = left(alldrives, rtn)

a = split(trim(alldrives), chr(0))

redim b(ubound(a))

u = false

for i = 0 to ubound(a) - 1

b(i) = getdrivetype(a(i))

if b(i) < 2 or b(i) > 6 then b(i) = 1

b(i) = choose(val(b(i)), "未知型別", "移動盤", "硬碟", "對映盤", "光碟機", "記憶體盤")

if b(i) = "移動盤" then u = true

next

text1 = ""

text1 = iif(u, "發現有移動盤!", "未發現移動盤!") & vbcrlf

for i = 0 to ubound(a) - 1

text1 = text1 & a(i) & "---" & b(i) & vbcrlf

next

end sub

說明:1 a(i)裡存有每個碟符值

2 b(i)裡存有盤的型別

大家可以通過需要來呼叫

ARDUINO 通過藍芽串列埠來控制定時器

arduino 通過藍芽串列埠來控制定時器 2020.12.10 arduino uno開發板 hc 06藍芽模組 麵包線 1,上圖已經上穿完程式從電腦上斷開usb連線了.2.為了方便電源插接,在開發板上插了一塊擴充套件盾板.1,按圖示攔截好線路.關鍵 藍芽模組的tx,rx要與開發板上的tx,rx交...

通過定時器完成防抖動的總結

由於按鍵是機械按鍵,裡面的金屬彈片在按下或鬆開的時候會發生抖動,在這樣的條件下按下一次就有可能發生多次中斷,為了解決這個問題,我們應該新增防抖動。我們可以用定時器實現防抖動。假如按下一次產生了多次中斷,那麼在第一次中斷產生之後,呼叫中斷處理函式,在這裡面設定10ms之後執行某乙個操作,下次中斷再來,...

微控制器 按鍵定時器檢測 短按 長按

通過使用定時器計數的方法來分辨按鍵的 短按 長按 檢測到引腳被拉低 按鍵按下為低電平,沒有按下為高電平 延時10毫秒 濾波 引腳還是被拉低 確定按鍵被按下 設定按鍵按下標誌 開啟定時器,開始計數 定時器中有乙個全域性變數用於記錄計數值 直到引腳被拉高 按鍵被釋放將為高電平 關閉定時器 檢測按鍵按下標...