一种射频IC卡就餐机和后台管理微机的通信设计(2)
2014-06-05 01:10
导读:3.3 通信程序实现 每次通信时,首先在主机的init事件中初始化通信控件olecontrol1,初始化设置为: thisform.olecontrol1.CommPort=1 //选择串行口com1 thisform.olecontrol
3.3 通信程序实现
每次通信时,首先在主机的init事件中初始化通信控件olecontrol1,初始化设置为:
thisform.olecontrol1.CommPort=1 //选择串行口com1
thisform.olecontrol1.PortOpen=1 //打开串行口com1
thisform.olecontrol1.InputMode=0 //接收的数据按文本方式
thisform.olecontrol1.RTSEnable=1 //允许使用rts线,用于rs-232/485转换器的发送控制和供电
thisform.olecontrol1.InputLen=1 //每次读取接收缓冲区的一个字符
thisform.olecontrol1.OutbufferCount=0 //清除发送缓冲区
thisform.olecontrol1.InbufferCount=0 //清除接收缓冲区
定时控件timer1作为超时定时器, 在Timer1的OnTimer事件中,(假定共有两台就餐机)如果微机向就餐机#1发送的数据正确,那么,延时后,向下一个就餐机发送数据,直到最后一个就餐机,然后提示发送完毕;如果微机向就餐机发送的数据错误,那么,延时后,再发一次。如果连续三次发送都发生了错误,那么,给出错误的就餐机号,并且向下一个就餐机发送数据。定时器的初始化为:
timer1.Interval=50 *定时时间间隔为50ms
timer1.ensbled=.f.先关超时定时器1
在Command1的Click 事件中通过调用外部过程program2向就餐机发送地址(即机号),和要求就餐机向主机传送就餐数据的命令。Program2的程序为:
procedure programe2
*发送机号
表单js.olecontrol1.RThreshold=0
表单js.olecontrol1.Settings="2400,m,8,1"
jh2=chr(jh2)
表单js.olecontrol1.OutPut=jh2
*发送命令
表单js.olecontrol1.Settings="