300分急求串口通信问题。我已发过一贴,问题没有解决,还有10天期限,帮个忙吧!
moyo 2006-03-31 10:34:30 开发环境:WIN2000+PB6.5+MSCOMM32.OCX
我把com口的2、3脚短接。从而自己发,自己收。
我碰到的问题是下面的代码在PB6.5开发环境中通过,编译后无法运行(在本机上):
窗体OPEN事件:
ole_1.object.commport="1"
ole_1.object.settings="9600,n,8,1"
ole_1.object.InputMode =1//以二进制方式检取回数据
ole_1.object.DTRenable=true //DTR 有效
ole_1.object.RTSenable=true //RTS 有效
if ole_1.object.portopen=false then
ole_1.object.portopen=true
end if
命令按钮CLICK事件:
blob b_rd
ole_1.object.output=blob(char(193))+blob(char(193))//send 0xC1 0xC1
sleep(20)
b_rd=ole_1.object.input
sle_1.text=string(asc(char(blobmid(b_rd,len(b_rd)))))
上面是测试程序的全部代码。后来我把PBL文件拷贝到一安装WINXP(PB6.5)的笔记本上,发现居然连在PB6.5开发环境下也无法运行。错误和在WIN2000下编译后运行的错误一样(Error:Non-array expected in ANY varibale)。后来我把XP下面的代码改成如下,开发环境下可以运行,但是编译后一样不行:
any tmp
ole_1.object.output=blob(char(193))+blob(char(193))//send 0xC1 0xC1
sleep(20)
tmp=ole_1.object.input
sle_1.text=string(asc(char(blobmid(blob(b_rd),len(blob(b_rd))))))
我实在是不知道该如何办了,我也搜索了坛子上的帖子。
我的项目是对maxim的ibutton(ds1991)读写数据。