单片机
EndSub
(二)接收数据
接收数据是一个被动的过程,可以通过函数来实现。由定时器开启。在接收过程中,多数用特征字符。如。OK”、。脊”等。这些需要在通讯协议中约定。
Function接收数据()
DoDoEvems
In_bufferS=In_buffer¥&MSComm2.
Input
Loop
UntilInStr(_buffers.。oK”)7从
串行端口读。OK”响应’In_buffer=Left(In_buffer,len(In_buffer)
一2)
接收数据=In_bufferS
EndFunction
(三)Timer控件控制
在实际运用过程中.通过Timer控件来控制通讯中的发送命令和接收数据过程,在通讯程序中设置两个Timer控件分别控制发送单片机命令和接收单片机数据。为了实现一台PC机和多单片机之间的通讯,可在一个Timer控件的过程中,在发送命令之前设定命令参数和要接收数据的单片机号.然后发送单片机命令:在另一个Timer控件的过程中,根据发送前设定的单片机号。接收不同单片机的数据。Timer控件控制程序如下:
。
’发送命令主控程序
PtivataSub
TimerSencl_Timer0
TimerSend.Enabledl=FalseSelectCasecommand
Case
11
CaB发送单片机命令过程(任务1)TimerReceive.Enabled=False’启动自动接收
Case2
Call发送单片机命令过程(任务2)MSComml.Rthreshold=O’关闭自动接收
TimerKeceive.Iaterval--500
TimerReceive.Enabled=Tree’启动定Cme
3
Call发送单片机命令过程(任务3)MSComml.Rthredaoid=0’关闭自动TimerReceive.Interval=500
TimerKeceive.Enabled=True’启动定万方数据
刺击经;齐 科技研发
机号=2
新型医疗器械的研发都具有重要的实用Case4
价值。同时。也为单片机在其他应用领域i
的开发展示了更为广阔的前景。VB6.0Case
n
具有面向对象的设计方法,友好的用户界面。利用VB6.0面向对象和可视化编EndSelect
程的特点,用MSComm控件可以比较方End.Sub
便地开发串行通信程序。从而实现PC7接收数据主控程序
与单片机系统的通信,对小型测控系统PrivateSub
TimerReceive_Timer0
的设计具有很大的实用性。在采用以PCTimerReceive.Enabled=False
机为控制中心的数据采集自动化控制系Select
Case机号
统中。通常需要单片机采集数据,然后用Case1
异步串行通讯方式传给PC机。PC对单In_bufferS=接收数据(机号)片机进行定时控制,需要多个单片机协Call任务2
同工作。如果系统不很复杂.可通过定时Case2
器控件控制收发过程。在必要的地方自In_buffers=接收数据(机号)动接收装置,使定时控制和通讯过程完Call任务3
美地结合起来。这样.可以免去“握手”协Case3
议的繁琐过程,简化编程,提高速度。VBi
具有面向对象的设计方法,友好的用户Case
n
界面。简单方便的串行通讯和实用性强In_bufferS=接收数据(机号)等优点.无需借用其他语言就可以开发call任务n
出优秀的控制系统通讯软件。本文介绍
EndSelect了在Windows98环境下如何利用VB
EndSub
来实现PC机与多个PSl016单片机之间(四)自动接收、监视总线状态和通讯的串行通讯。
错误的处理
参考文献:
在实际应用中。自动接收、监视总线1、黄兴琦。陈初开,刘二军.单片机与状态和通讯错误的处理可以通过On-WINDOWS下PC机的串口通信研究m.Comm事件实现。VB程序运行过程中只唐山学院学报,2007(4).
要设置MSComml.Rthreshold=1,在接收2、张传伟。王昀睿.VB下PLC与PC事件发生时程序就会自动访问串口通信的实现m.中国科技信息,200s02).
MSComml.OnComm()过程。由于外界3、肖汉敏。冯毂.串行通信在实时数据干扰或电压波动等原因,PC机和单片机采集中的应用【丌.微计算机信息,2007(13).
之间的通讯可能会出现错误,如接收缓4、杨军。乔晓军,王成.基于专家系统
冲区溢出、网络端口超速等。这些可能发的禽舍环境监控系统设计【丌.农机化研究,生的事件都能在代码中引起运行错误。2007(6).
为了处理这些错误.须要将错误处理代5、樊春峰.李劲伟.用VB开发上位机码添加到程序中。通过控件中的On-与OMRONPLC之间的一种通讯程序Ⅱ】.机电工程,2002(2).
讯过程中所发生的通讯错误是Corn-6、叶柏峰。张长利。于艳,白丽君.基于VB的PLC与计算机串行通信设计册,东北农业大学学报,2007(3).
7、蔡倩。经亚枝.Windows环境下PLC
与上住机的串行通信珊.东北农业大学学报,2005(3).
8、扬久红。王小增.MSComln控件实现PC与PLC辛行通讯m.东北农业大学学报.2005(5).
9、李光明.孛妍,李茜.用VB实现¥7-300PLC与PC机的普通串口通信m.微计算机信息.2005(19).
I作者单位:山东中医药大学)
2009.04(上)—匿疆
C■I_●CoIIectIv●IEconoiiiY
Comm事件可以捕捉和处理错误。在通mEvem属性返回的。当CommEvent属性值发生改变时,表明有通讯错误,就会产生OnComm事件。同时,可以利用自动引发OnComm事件的特点在接收过程中加入状态显示码。这样可以监视通讯线路状态。得到单片机和主机及单片机和单片机之间的通讯进程。总之,基于高级语言实现的PC机与单片机的通讯提高了单片机的开发水平。同时也降低了单片机的开发难度,我们以此为开发工具并用于多种医疗器械的中心控制部分。对推动已有医疗器械的更新换代和
时器接收机号=1
接收
时器接收