1)如何設定input模式
MSCOMM有InputMode屬性,有2個值
comInputModeBinary以二進位制模式接收
comInputModeText以字串模式接收
2)如何處理INPUT
MSCOMM有RThreshold屬性,該屬性用來設定input多少個位元組後產生oncomm事件
處理方法1:
如果每次接收的資料位元組大小一樣,可以設定RThreshold為接收資料位元組大小
然後在oncomm中處理input
處理方法2:
如果每次接收的資料位元組大小不一樣,新增TIMER控制元件,在timer的事件中處理input
先判斷接收多少個數據,然後判斷標記量以此來分類處理
"以下程式碼表示處理接收了3個位元組且第一位元組為0xff的資料,
dim a() as byte
do
doevents
Loop Until comm1.InBufferCount >= 3
redim a(3)
a=comm1.input
if a(0)=&HFF then
msgbox "aa"
end if
3)資料畫圖
這種資料定協議的時候 應該設計為BCD碼
如若不是,先將二進位制轉換為十進位制 然後畫圖,畫圖的方法PITCURE控制元件都有
如何將二進位制轉換為十進位制,網上比較詳細 這裡不寫了
1)如何設定input模式
MSCOMM有InputMode屬性,有2個值
comInputModeBinary以二進位制模式接收
comInputModeText以字串模式接收
2)如何處理INPUT
MSCOMM有RThreshold屬性,該屬性用來設定input多少個位元組後產生oncomm事件
處理方法1:
如果每次接收的資料位元組大小一樣,可以設定RThreshold為接收資料位元組大小
然後在oncomm中處理input
處理方法2:
如果每次接收的資料位元組大小不一樣,新增TIMER控制元件,在timer的事件中處理input
先判斷接收多少個數據,然後判斷標記量以此來分類處理
"以下程式碼表示處理接收了3個位元組且第一位元組為0xff的資料,
dim a() as byte
do
doevents
Loop Until comm1.InBufferCount >= 3
redim a(3)
a=comm1.input
if a(0)=&HFF then
msgbox "aa"
end if
3)資料畫圖
這種資料定協議的時候 應該設計為BCD碼
如若不是,先將二進位制轉換為十進位制 然後畫圖,畫圖的方法PITCURE控制元件都有
如何將二進位制轉換為十進位制,網上比較詳細 這裡不寫了