概述
Pb6中的串行通信(MSCOMM32.OCX)完全解答版
本文给出一个在PB6中如何采集串行口数据的实例及MSCOMM32.OCX控件的一些基本知识。
一:问题描述
本文解决的是采集磅房的磅值读取问题。磅秤和计算机(COM1/COM2)之间使用RS-232标准串行线相连。波特率为1200,数据格式如下:每100ms发送一组数据,每组数据有5帧,每帧11位,1位起始位(0),8位数据位(D0-D7),2位停止位(1),无奇偶校验.定义如下:
第1帧:D0—D7 ----0FFH(起始位)
第2帧:D0—D2 ----为小数点位置(0-5)
D3 -----NC
D4 -----1表示称重稳定 0表示称重未稳定
D5 -----1表示称重为负 0表示称重为正
D6 -----NC
D7 -----1表示超载
第3帧:D0—D7 ----BCD1(称重值)
第4帧:D0—D7 ----BCD2(称重值)
第5帧:D0—D7 ----BCD3(称重值)
BCD1,BCD2,BCD3为由低到高的称重值的BCD码。
二:解决方案
使用VB中的MSCOMM32.OCX控件,先在PB中的OLE的insert control中注册该控件,如果注册完毕后使用时提示没有license ,则是没有注册码问题,网上提供了好多这方面的解决方法,但试过后都没能解决问题,我的解决方法是装VB,安装VB时一定要选择安装activeX。转完vb肯定能解决问题。
在窗口上添加该控件,名称为ole_1。在窗口的open事件里设置ole_1的属性。
ole_1.object.commport=1
ole_1.object.settings="1200,n,8,1"
ole_1.object.portopen=true
ole_1.object.rthreshold= 10 //每次取10个字节,在10个字节中肯 定包含一个完整//(5个字节)的磅值数据
ole_1.object.inputlen=1
最后
以上就是酷炫小兔子为你收集整理的Pb6中的串行通信(MSCOMM32.OCX)完全解答版的全部内容,希望文章能够帮你解决Pb6中的串行通信(MSCOMM32.OCX)完全解答版所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复