下面是我做的一個測試程序:
成都創(chuàng)新互聯(lián)成立于2013年,先為安定等服務建站,安定等地企業(yè),進行企業(yè)商務咨詢服務。為安定企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
'TextReceive =
' 初始化程序:主要完成對串口的設置,包括選擇串口、設置波特率、設置數(shù)據(jù)格式、打開串口等。
' 注意:在程序開始之前,必須清空發(fā)送和接收緩沖區(qū),以免出錯。
Private Sub Form_Load()
MSComm1.Settings = "9600,n,8,1" ' 設置波特率和發(fā)送字符格式
MSComm1.CommPort = 1 ' 設置通訊串口
MSComm1.InputLen = 0 ' 設置或返回一次從接收緩沖區(qū)中讀取字節(jié)數(shù),0表示一次讀取所有數(shù)據(jù)
MSComm1.InBufferSize = 2 ' 設置接收緩沖區(qū)2Byte
MSComm1.InBufferCount = 0
MSComm1.OutBufferSize = 2 ' 設置發(fā)送緩沖區(qū)2Byte
MSComm1.OutBufferCount = 0
MSComm1.RThreshold = 1 ' 每個字符到接收緩沖區(qū)都觸發(fā)接收事件
MSComm1.SThreshold = 1
MSComm1.InputMode = comInputModeBinary '采用二進制傳輸
MSComm1.PortOpen = True ' 打開串口
End Sub
Private Sub Command1_Click()
Dim number As Integer
Dim outbyte(0) As Byte
number = Val(170)
outbyte(0) = CByte(number)
MSComm1.Output = outbyte
Label4 = outbyte(0)
Print outbyte(0)
End Sub
VB與單片機通信。如 VB 為上位機,單片機為下位機。
通訊必須以協(xié)議形式,不然分不清 是第一字節(jié)數(shù)據(jù),還是第幾個字節(jié)數(shù)據(jù)。
通訊協(xié)議可以 自己設計 如
指令碼 - (多機通訊需要加從機 號)- 數(shù)據(jù)1 - 數(shù)據(jù)n - 校驗碼 - 結束碼。
接收數(shù)據(jù) 首先 判斷 指令碼, 接著開始接收 數(shù)據(jù),
校驗碼 是為了判斷 接收的數(shù)據(jù) 與 發(fā)送的數(shù)據(jù) 是否一致,不一致 就是數(shù)據(jù)受到干擾錯誤。
結束碼 表示 數(shù)據(jù) 發(fā)送 或者 接收 完畢,等待接收 下一組數(shù)據(jù),這樣就不會出錯。
串口傳送數(shù)據(jù)實質是傳送ASCII碼,如是8位二進制數(shù)據(jù),其ASCII碼值(10進制)為0-255。用二進制表示為00000000 - 11111111
16進制表示為 00 - FF
傳送數(shù)據(jù)大于255,則用16位二進制(即2字節(jié)ASCII碼組成)。10進制范圍-32768到+32767。
如有小數(shù),則應由上下位機約定,不進行串送。
串口通信中數(shù)制轉換必須相當重視。
以上是以二進制方式收發(fā)數(shù)據(jù)。
也可直接以ASCII碼的文本方式發(fā)送數(shù)據(jù),而字節(jié)量大。
新聞標題:vb.net與單片機通信 vb 單片機
文章網址:http://aaarwkj.com/article14/hhhgde.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站收錄、ChatGPT、小程序開發(fā)、全網營銷推廣、、App開發(fā)
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)