上篇文章講述了在web下如何使用mscomm32.ocx連線串列埠,成功建立通訊連線之後,資料的收發又成了新的問題。
沒有想到js傳送16進製製到串列埠的好方法,故製作了乙個activex來解決這個問題。
此activex使用vb製作,計畫內建兩個函式(收、發資料解析),目前僅封裝乙個(資料傳送),資料接收正在測試。
以下為vb原始碼:
public function senddata(str)
dim arr() as byte
dim s, i, length
length = len(str) \ 3
s = split(str, " ")
redim arr(length) as byte
for i = 0 to length
arr(i) = val("&h" & s(i))
next i
senddata = arr
end function
使用vb6.0將其打包為cab檔案,在html中使用。
使用示例:
1、在html中呼叫,新增如下**
2、函式使用(接上篇博文內容),將字串轉換後傳送
mscomm1.output=cab.senddata(orgstr);//orgstr為需要傳送的字串,senddata為activex中封裝的轉換函式名
這樣就可以實現向下位機傳送指令。
值得注意的是,orgstr字串的格式,需要將其格式化為如下格式:
"xx xx xx ....."
接收函式正在測試。
使用Visual C 進行串列埠通訊程式設計 續
3 序列資料的傳送和接收 與普通的檔案操作相同,在對序列口進行操作時,通常利用 readfile 函式讀取序列口收到的資料,利用 writefile 將需要傳送的資料寫如序列口。n 序列資料的接收 利用 readfile 函式可以讀取將序列口接收到的資料。readfile 函式原型如下 boolre...
串列埠通訊 串列埠通訊原理
1 rs232介面 rs232 c介面聯結器一般使用型號為db 9的9芯插頭座,只需3條介面線,即 傳送資料 接收資料 和 訊號地 即可傳輸資料,其9個引腳的定義如圖11 3所示。圖11 3 rs232 c介面聯結器定義 在rs232的規範中,電壓值在 3v 15v 一般使用 6v 稱為 0 或 o...
串列埠同步通訊和串列埠非同步通訊
串列埠掃盲貼 現實中不存在絕對精確的時鐘,標稱值同樣是1mhz,發端和接收端的時鐘總會存在差異,如果接收端不進行時鐘同步,而是使用自己本地的時鐘,則足夠長的時間後接收到的資料總會出現不可預知的重複或丟失,導致接收錯誤。因此發端必須將與資料速率相關的時鐘訊號傳輸給接收端,時鐘訊號可以走單獨的訊號線,也...