上面的代碼看不出問題,如果初始化串口控件時已經(jīng)注冊了AxMSComm1_OnComm,有數(shù)據(jù)接收應該能觸發(fā),至于為什么沒有觸發(fā),要看看你的接收方是否已經(jīng)收到你的發(fā)出指令,是否已經(jīng)有響應數(shù)據(jù)回發(fā)。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供哈爾濱網(wǎng)站建設、哈爾濱做網(wǎng)站、哈爾濱網(wǎng)站設計、哈爾濱網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、哈爾濱企業(yè)網(wǎng)站模板建站服務,十余年哈爾濱做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
建議分開調(diào)試,用一個通用的串口助手,如格西烽火串口助手之類的,分別調(diào)試你的上位機和下位機。格西烽火串口助手能輕松的定制如你上面的發(fā)送數(shù)據(jù)。
你可以預先約定一個截止附,讀取的字節(jié)統(tǒng)統(tǒng)放到緩存區(qū)里,直到讀到截止附再處理、顯示。
關(guān)于串口通訊的問題:
很明顯,你還不知道(不會、不習慣)使用事件驅(qū)動的方式接收數(shù)據(jù)。
建議你仔細看看串口組件(無論VB6還是VB.net)的OnComm事件,你的問題很容易解決。
關(guān)于以太網(wǎng)通訊:
在TCP通訊中端口確實可以重用,你百度一下“TCP端口重用”能查到很多示例。
但絕大多數(shù)情況下不推薦端口重用,而應該采取服務器端建立連接池的方法。
或者,干脆不用TCP,用UDP解決也可以。
.net中不用mscomm 而改用 searport
AxMSComm1.Input 只能一次,會把輸入緩沖區(qū)的內(nèi)容全都讀出來并清空
如果沒有產(chǎn)生Oncomm事件,你可以把輸入經(jīng)部區(qū)的大小改一下改成1就行了
不知道你是不是用51單片機往串口發(fā)數(shù)據(jù),是的話那是因為51的sbuf最多存放8個字節(jié),所以你發(fā)12個字節(jié)會分成兩次發(fā)完。還有在接收的時候最好定義好通信協(xié)議,比如加一個偵頭,一個偵尾,通過這兩個字節(jié)的內(nèi)容來接收數(shù)據(jù)。
老兄,提問還是給點懸賞分嘛,不要吝嗇哪點分,知識是無價的,你給得越多,回答你的人才會越多。
串口通信最終都是用二進制傳輸?shù)?,你用代碼把二進制轉(zhuǎn)化成十六進制就可以了。不需要額外設置。
網(wǎng)頁標題:vb.net的串口通信,串口 vbnet vs2010
瀏覽路徑:http://sd-ha.com/article28/hcoijp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、微信小程序、云服務器、域名注冊、全網(wǎng)營銷推廣、自適應網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)