作者lenki (天氣放晴吧…)
看板Visual_Basic
標題[VB6 ] 迴圈讀取 Serial port 時 CPU 使用率飆高...
時間Mon Jun 22 00:45:09 2009
大家好,
公司有支 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
推 mraaa:你可以找一個正版來安裝元件...或者上微軟網站下載吧... 06/22 07:19
→ lenki:找到處理方法了,用WaitCommEvent() 處理 06/22 09:00