vb串口接收16位数据,有个例子程序看不明白。

vb串口接收16位数据,有个例子程序看不明白。,第1张

buffer = buffer + Hex(Inbyte(i)) + Chr(32) , 这个chr(32)就是个空格。

当Hex(Inbyte(i)) 为 0-F时,buffer前两字节是 数加空格。

Len(Trim(Mid(buffer, 1, 2))) = 1 这个条件,trim是去掉空格。所以是判断是否是0-F

其实不用这么麻烦。

datatemp(num)= clng(inbyte(2)) 256 + inbyte(1) 即可。

1)删除定时器事件部分的所有程序。

2)如果使用mscomm一次接收一组数据(即用数组),那么要用循环按数组元素来画线。

3)如果使用mscomm一次接收一个数据,那么每次触发oncomm就调用画线过程来画线。

4)查检你oncomm事件里MSCommInput返回的数据是否正确,使用二进制接收时,每个数据都是字节数据,因此每个数组元素值不会大于255,利用mscomm发送大于255的数需要组织协议,收到数据后进行数据解析,再用解析的数据画线。

任何利用串口进行收发的程序,都可以利用将单个RS232口自身2与3脚短接,实现自发自收进行代码调试。

新建VB工程,由工程菜单选部件项,在Microsoft Comm Control 60部件前打钩确定,VB的工具箱中就有MSCOMM控件,添加到窗体

Private Sub cmdSend_Click()

Dim strSend As String

strSend = Text2

MSComm1Output = strSend

End Sub

Private Sub Form_Load()

MSComm1Settings = "9600,n,8,1"

MSComm1InputMode = comInputModeText '采用文本接收

MSComm1InBufferCount = 0 '清空接受缓冲区

MSComm1OutBufferCount = 0 '清空传输缓冲区

MSComm1RThreshold = 1 '产生MSComm事件

MSComm1PortOpen = True

Text1 = ""

End Sub

Private Sub MSComm1_OnComm() '接收数据

Dim strBuff As String

Select Case MSComm1CommEvent

Case 2

strBuff = MSComm1Input

Text1 = Text1 & strBuff

End Select

End Sub

以上就是关于vb串口接收16位数据,有个例子程序看不明白。全部的内容,包括:vb串口接收16位数据,有个例子程序看不明白。、通过vb6.0绘制串口过来的数据的实时曲线,下边是一个例子、用vb的串口编程实现一个串口的自发和自收功能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10216873.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存