注册 登录
编程论坛 VB6论坛

串口读取数据问题,我是小白,求高手

you157827715 发布于 2021-09-15 13:20, 1710 次点击
我想把一个电子称上的重量读出来,点击程序上的一个按钮,电子称上的重量就显示在程序上的TEXT控件上.电子称是RS232串口.
 求应该怎么写,求大神帮忙!
 感谢!
7 回复
#2
约定的童话2021-09-16 00:47
Dim buffer As String
= 1 '选用COM1串行口
MSComm1.Settings = "9600,N,8,1" '波特率9600,无奇偶校验位,8位数据位1位
MSComm1.InputLen = 11 'Input将读取接收缓冲区的全部内容1'
MSComm1.InBufferSize = 1024 '设置接收缓冲区的字节长度'
MSComm1.PortOpen = True '打开通信口
MSComm1.InBufferCount = 0 '清除发送缓冲区数据
'MSComm1.InputMode = comInputModeascii
' 设定 InputMode 以读取ascii
' 等待直到输入暂存区有 10 个位元组
Do Until MSComm1.InBufferCount >= 10
DoEvents
Loop
' 往暂存区存二进位资料
buffer = MSComm1.Input
' 指定给位元组阵列以便处理API 函数是微软为 Windows 系统编程而提供的,它不分 VB 还是其他语言。
API 函数中有用于串口操作的。但很少有人在 VB 中直接调用它们。一般用 MSComm 控件。
试试看。。。
#3
you1578277152021-09-16 12:56
谢谢了,我先试下!
#4
you1578277152021-09-16 14:54
回复 2楼 约定的童话
我用以上代码试了下, 点击Command1 程序无反应,电子称的值读不出来,没有显示在Text1中 不知哪里出了问题!
#5
cwa99582021-09-16 16:20
你要知道电子秤的通讯协议,就是说要发送一个命令给电子秤,他才会传送数据给你。一般电子秤的说明书里会有的,如果没有,就可能不支持通讯。
#6
you1578277152021-09-16 16:54
回复 5楼 cwa9958
RS-232-C 通讯协议 应该都是一样的吧? 我用的电子秤就是RS-232-C 通讯协议的!支持串口通讯的!
#7
cwa99582021-09-17 12:58
一般都要发一个命令给对方,对方才会发送数据给你的。
或者电子秤上有发送按钮,也可以发送数据。

比如:
Private Sub Command1_Click()
    Dim c(1) As Byte
    c(0) = 0
    c(1) = &HD
    MSComm1.Output = c

End Sub
发送命令给对方
#8
usernew20222021-09-18 21:57
先用串口调试助手调通了再编程哟
1