[VB6 ] 迴圈讀取 Serial port 時 CPU 使用率飆高...

看板Visual_Basic作者 (天氣放晴吧…)時間16年前 (2009/06/22 00:45), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
大家好, 公司有支 Barcode Reader 是使用 RS232 接頭, 因為原廠網頁並無提供任何驅動程式與軟體。 所以小弟使用 VB6 寫了一支用來讀取 Barcode Reader 的資料的小工具, 使用迴圈持續檢查是否有資料,若有則將接收到的值模擬鍵盤輸入…… 所有功能都已完成,目前已知的問題是檢查接收資料的迴圈導至 CPU 使用率升到 80% 迴圈大概內容如下: do while len(str<>"") ....略(處理接收的值 使用 win32api 的 kb_events 模擬鍵盤事件) doevents str=getdata() loop 若我加入 sleep 去停止時,在操作 Form 好像會卡卡的…… 是否有什麼方式可以減小 cpu 使用率的爆走呢? ps.因為小弟沒安裝 VB6 的正式版(我用的是 7mb 的免安裝版), 所以不是使用 VB 提供 MSCOMM 控件,而是用 win32api 抓值。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.147.138

06/22 07:19, , 1F
你可以找一個正版來安裝元件...或者上微軟網站下載吧...
06/22 07:19, 1F

06/22 09:00, , 2F
找到處理方法了,用WaitCommEvent() 處理
06/22 09:00, 2F
文章代碼(AID): #1AFcEPnZ (Visual_Basic)
文章代碼(AID): #1AFcEPnZ (Visual_Basic)