找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

帮我修改回赠人民币100元 是VFP写的哦

[复制链接]
admin 发表于 2012-9-2 14:10:26 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
PRIVATE Lpmode,Lpread,num,m.rl,M,COM2
DIMENSION acr(256)
*装入FOXTOOLS.FLL库文件
SET LIBRARY TO SYS(2004)+“FOXTOOLS.FLL" ADDITIVE
*初始化通信协议:通信端口为COM2,波特率为2400,没用奇
*偶校验方式,8位数据位,1位停止位。
Commmode=“COM2"+“2400"+“N"+“8"+“1"
Lpmode=REPLICATE(CHR(0),40)
&&初始化设备控制块DCB结构为0
Lpread=REPLICATE(CHR(32),256)
&&初始化接收队列为空,长度256B
*注册Windows.DLL通信函数
buildcommDCB=Regfn(“BuildCommDCB",“C@C",“I")
opencomm=Regfn(“OpenComm",“CII",“I")
setcommstate=Regfn(“SetCommState",“@C",“I")
readcomm=Regfn(“ReadComm",“I@CI",“I")
writecomm=Regfn(“WriteComm",“ICI",“I")
closecomm=Regfn(“CloseComm",“I",“I")
clearcomm=Regfn(“GetCommError",“I@C",“I")
*初始化COM2通信端口
=Callfn(buildcommdcb,commmode,@lpmode)
&&建立Windows可接受的通信方式
COM2=Callfn(opencomm,“COM2:",256,256)
&&打开COM2通信口
IF COM2<0
 WAIT WINDOW“打开通信口失败,退出后重引导"timeout 1
 =Callfn(closecomm,COM2)  &&关闭COM2口
 return -1
ENDIF
M=Callfn(setcommstate,@lpmode)  &&设置通信方式
 IF M<0
   WAIT WINDOW“设置通信方式失败,退出后重引导"timeout 1
   =Callfn(closecomm,COM2)
   return -1
 ENDIF
*对通信口进行读/写操作
  m.order=CHR(184)  &&发请求取数据命令
  M=Callfn(writecomm,COM2,m.order,LEN(m.order))
   IF M<0
   WAIT WINDOW“请求失败,退出后重引导"timeout 1
   =Callfn(clearcomm,COM2,NULL)
&&通信失败,清除端口
   =Callfn(closecomm,COM2)  &&释放缓冲区
    return -1
  ENDIF
 num=256
 M=Callfn(readcomm,COM2,@lpread,num)
&&读num个字节入缓冲区
  IF M<0
   WAIT WINDOW“读数据失败,退出后重引导"timeout 1
   =Callfn(clearcomm,COM2,NULL)
   =Callfn(closecomm,COM2)
   return -1
  ENDIF
显示接收到的数据
  FOR I=1 to num
d=(I%8)*10-1
j=int(I/8)
m.siotemp=substr(lpread,I,1)
acr(I)=ASC(SUBSTR(lpread,I,1))
@j,d say acr(I);
FONT"FIXEDSYS",8
  ENDFOR
*通信结束
=Callfn(closecomm,COM2)
RELEASE LIBRARY SYS(2004)+"FOXTOOLS.FLL"
WAIT WINDOW"通信已结束!"NOWAIT
RETURN
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-25 02:34 , Processed in 0.053973 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表