关于的MSCOM的几个问题
今天调试托力多的电子秤。先用超级终端连上去看到传送回来的是 一串 包含17个字符的字符串。分析发现从7到10这四个字符为秤上显示的重量数值。
先做个了个测试将从COM口取来的数据写入一个文本文件:
Private Sub Command1_Click()
i = 1
With MSC
.CommPort = 1
.Settings = "9600,N,8,1"
.InBufferSize = 40
.InputLen = 17
.RThreshold = 1
.InputMode = comInputModeText
.InBufferCount = 0
If Not .PortOpen Then
.PortOpen = True
End If
End With
Private Sub MSC_OnComm()
If MSC.CommEvent = comEvReceive Then
MSC.RThreshold = 0
WritePrivateProfileString "value", CStr(i), CStr(MSC.Input), App.Path & "\1.txt"
i = i + 1
MSC.RThreshold = 1
End If
End Sub
执行后,发现文本文件里的内容所有偶数行的值为“00”,奇数行的值和超级终端里的显示的一样。所以我就将取电子秤的过程这样写了:
Private Sub MSC_OnComm()
If MSC.CommEvent = comEvReceive Then
MSC.RThreshold = 0
Text1.Text = MSC.Input
If Len(Text1.Text) > 6 Then Text2.Text = Mid(Text1.Text, 7, 2) & "." & Mid(Text1.Text, 9, 2)
MSC.RThreshold = 1
End If
End Sub
现在是可以用了。就不知道有没有什么问题? 还有那个“.InBufferSize ”属性的值好像设置成多少对我的取值都没有影响,这是为什么?在网上收到一篇关于开发电子秤的例子(http://blog.cechinamag.com/ljs625/107762/message.aspx),是把接模式设置为二进制的。按照里面的方法我使终没有调试出来,所以请各位能指点一下,谢谢了。
先做个了个测试将从COM口取来的数据写入一个文本文件:
Private Sub Command1_Click()
i = 1
With MSC
.CommPort = 1
.Settings = "9600,N,8,1"
.InBufferSize = 40
.InputLen = 17
.RThreshold = 1
.InputMode = comInputModeText
.InBufferCount = 0
If Not .PortOpen Then
.PortOpen = True
End If
End With
Private Sub MSC_OnComm()
If MSC.CommEvent = comEvReceive Then
MSC.RThreshold = 0
WritePrivateProfileString "value", CStr(i), CStr(MSC.Input), App.Path & "\1.txt"
i = i + 1
MSC.RThreshold = 1
End If
End Sub
执行后,发现文本文件里的内容所有偶数行的值为“00”,奇数行的值和超级终端里的显示的一样。所以我就将取电子秤的过程这样写了:
Private Sub MSC_OnComm()
If MSC.CommEvent = comEvReceive Then
MSC.RThreshold = 0
Text1.Text = MSC.Input
If Len(Text1.Text) > 6 Then Text2.Text = Mid(Text1.Text, 7, 2) & "." & Mid(Text1.Text, 9, 2)
MSC.RThreshold = 1
End If
End Sub
现在是可以用了。就不知道有没有什么问题? 还有那个“.InBufferSize ”属性的值好像设置成多少对我的取值都没有影响,这是为什么?在网上收到一篇关于开发电子秤的例子(http://blog.cechinamag.com/ljs625/107762/message.aspx),是把接模式设置为二进制的。按照里面的方法我使终没有调试出来,所以请各位能指点一下,谢谢了。
...全文
相关推荐
串口调试工具vc源码
串口调试工具vc源码,用的是vc mscom控件,用事件查询方式
实现COM口通信的MSCOM控件深入解析
在信息技术的海洋中,COM口通信作为一种基础而重要的概念,贯穿于计算机硬件和软件交互的各个层面。COM代表串行端口通信(Communications Port),是计算机与外部设备如调制解调器、打印机、串行设备等进行数据交换的接口之一。通过串行通信,数据以位的形式一个接一个地顺序传输,这与并行通信形成对比,后者可以同时发送多个数据位。串行通信按位进行数据传输,每两位数据之间通常需要一定的时间间隔。这些数据位按照事先约定的格式,依序通过单一通道进行传输。
掌握Microsoft Communications组件:创建高效通信应用程序
Microsoft Communications组件(简称MSCOM),是微软推出的一套用于计算机通信的组件库,它能实现与各种通信设备的交互,包括调制解调器、串口设备等。自从上世纪90年代首次发布以来,MSCOM组件已经随着技术的进步经历了多次迭代和改进。Microsoft Communications控件(以下简称MSCOM控件)是一个广泛应用于Windows平台的ActiveX控件,提供了对串口通信进行高级访问的功能。
利用mscom控件开发串口通讯
利用微软自带的mscom控件开发串口通讯,以VC++6.0为平台。
MSCom 第三方控件
串口第三方控件,封装类,PC串口支持小于等于16个串口


控件
