新聞中心
vb點(diǎn)虐 串口收發(fā)數(shù)據(jù)有問題
不知道你是不是用51單片機(jī)往串口發(fā)數(shù)據(jù),是的話那是因?yàn)?1的sbuf最多存放8個(gè)字節(jié),所以你發(fā)12個(gè)字節(jié)會(huì)分成兩次發(fā)完。還有在接收的時(shí)候最好定義好通信協(xié)議,比如加一個(gè)偵頭,一個(gè)偵尾,通過這兩個(gè)字節(jié)的內(nèi)容來接收數(shù)據(jù)。
成都創(chuàng)新互聯(lián)公司主營(yíng)元氏網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,元氏h5小程序開發(fā)搭建,元氏網(wǎng)站營(yíng)銷推廣歡迎元氏等地區(qū)企業(yè)咨詢
老兄,提問還是給點(diǎn)懸賞分嘛,不要吝嗇哪點(diǎn)分,知識(shí)是無價(jià)的,你給得越多,回答你的人才會(huì)越多。
VB點(diǎn)虐 串口發(fā)送數(shù)據(jù)
你可以這樣操作:
Form1.BeginInvoke(Sub()
'一些操作
End Sub)
這樣主線程就會(huì)放下手里的事情并執(zhí)行Sub里的操作了
vb點(diǎn)虐 +判斷串口發(fā)送是否空?
在 VB.NET 中,判斷串口發(fā)送是否為空可以通過判斷 SerialPort 類的 IsOpen 和 BytesToWrite 屬性來實(shí)現(xiàn)。
IsOpen 屬性可以判斷串口是否已經(jīng)打開,如果串口沒有打開,則無法發(fā)送數(shù)據(jù),因此 IsOpen 屬性可以用來判斷串口發(fā)送是否可行。
BytesToWrite 屬性可以獲取當(dāng)前串口發(fā)送緩沖區(qū)中待發(fā)送的字節(jié)數(shù),如果 BytesToWrite 屬性的值為 0,則說明當(dāng)前串口發(fā)送緩沖區(qū)為空,可以進(jìn)行下一次發(fā)送操作。
下面是一個(gè)簡(jiǎn)單的示例代碼:
```
Dim serialPort As New SerialPort()
' 設(shè)置串口參數(shù)...
If serialPort.IsOpen AndAlso serialPort.BytesToWrite = 0 Then
' 發(fā)送數(shù)據(jù)...
End If
```
在使用串口發(fā)送數(shù)據(jù)時(shí),需要始終注意串口是否已經(jīng)打開,以及當(dāng)前發(fā)送緩沖區(qū)中是否有待發(fā)送的數(shù)據(jù),否則可能會(huì)出現(xiàn)發(fā)送失敗的情況。
分享題目:VB點(diǎn)虐 串口0 vb打開串口
網(wǎng)站網(wǎng)址:http://www.ef60e0e.cn/article/ddihesj.html