VB程序员博客
需要实现这样一个功能。在电脑中设计一个与硬件实物一模一样的界面,通过这个界面的操作就可以实现控制硬件的功能。硬件比如是视音频延时器或画面合成器等等类似的设备,通过rs232接口与PC连接。
我想通过VB的MSComm控件实现,问题就是我从没有接触过这方面,也没有任何思路和想法。请教高人能够具体说明一下,怎样才能实现?最好给个例子解释一下,希望各位大虾不吝赐教!
小弟我比较菜,问题比较多。
请留下邮箱,我发个教材给你, 对你学习串口的软硬件帮助会很大
我的邮箱lingfogzj@163.com
楼上的两位多谢啦!!!
已发给你了 RS232.RAR , 你要先安装 AcrobatReader
下面这是我接收电子秤的一个测试代码
'添加 Command1 Command2 List1 Mscomm1
'我仪表接收的资料是以Chr(2)为启始符,从紧跟在后面的"+"开始抓取7位就是我要的汽车衡的卡车重量.
Option Explicit
Dim rcvdata$, startpos%, stoppos%, trecord&, Getwt&, Lastwt&, Scount%, stopcatch As Boolean
Private Sub Form_Load()
With MSComm1
.CommPort = 1
.Settings = "9600,n,8,1"
.InputLen = 0
.InBufferSize = 1
.RThreshold = 1
.InputMode = comInputModeText
End With
If Not MSComm1.PortOpen Then MSComm1.PortOpen = True
MSComm1.DTREnable = IIf(MSComm1.PortOpen, True, False)
Command1.Caption = "开始接收": Command2.Caption = "停止"
End Sub
Private Sub Form_Unload(Cancel As Integer)
MSComm1.PortOpen = False: End
End Sub
Private Sub Command1_Click()
List1.Clear
stopcatch = False: Scount = 0: Lastwt = 0
End Sub
Private Sub Command2_Click()
stopcatch = True
MSComm1.DTREnable = False
End Sub
Private Static Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive '接收缓冲区收到Rthreshold 个字符时触发
Dim N As Long, SJARR() As Byte
N = MSComm1.InBufferCount '接收缓冲区字符总数
MSComm1.InputLen = 0
rcvdata = Space(N)
rcvdata = MSComm1.Input
startpos = InStr(rcvdata, Chr(2) & "+")
If startpos > 0 Then
Getwt = Val(Mid(rcvdata, startpos + 2, 7))
If Getwt > 2 Then
If Abs(Lastwt - Getwt) <= 10 Then
Scount = Scount + 1
If Scount <= 5 Then List1.AddItem CStr(Getwt)
Else
Lastwt = Getwt: Scount = 0
List1.AddItem CStr(Getwt)
End If
List1.Selected(List1.ListCount - 1) = True
End If
End If
End Select
End Sub
问一下,如果
Dim aucTxBuf(0 To 5) As Byte
MSComm1.Output = aucTxBuf
如果这么发送的话每次都会发送6个字符的数据到串口
有没有办法判断如果数据是NULL,就不发了
比如数据只是 0D EE FE
在线等。。。。。。。
我邮箱 liyiming598@126.com
加为好友
发送私信
在线聊天
cbm666
这位兄弟,小弟也是一个菜鸟,能不能把教程也给我发一份,小弟万分感谢!
邮箱:yhdai_2008@126.com
谢谢,能否给小弟一份啊。wokan500@163.com
谢谢,能否给小弟也发一份啊。chenyubo1977@163.com
需要实现这样一个功能。在电脑中设计一个与硬件实物一模一样的界面,通过这个界面的操作就可以实现控制硬件的功能。硬件比如是视音频延时器或画面合成器等等类似的设备,通过rs232/485接口与PC连接。
我想通过VB的MSComm控件实现,问题就是我从没有接触过这方面,也没有任何思路和想法。请教高人能够具体说明一下,怎样才能实现?最好给个例子解释一下,希望各位大虾不吝赐教!
小弟我比较菜,问题比较多。
我的邮箱是:160284010@qq.com
给俺一份吧,大哥,workxiong@163.com
谢谢
各位大哥,有的话也给小弟我一份
我查了蛮多资料,没实例注释
忘了说邮箱,heyalin350535704@163.com