请做过串口通讯的高手进来看一下,急急急!

GANZHE_XINYI 2010-05-10 04:21:40
ole_comm.object.InputLen = 0读取整个内容时接收数据为19组十六进制,接收是这样定义的,
any anytemp
anytemp = this.object.Input
messagebox("",string(asc(mid(string(anytemp),1,8)))+' '+string(asc(mid(string(anytemp),9,8)))+' ')

提示出来 第一组十六进制数是对的,第二组却为0,以后的就更不对了。
在VB里面定义BYTE类型的数组直接赋值数组(0)则会接收到全部内容,但是PB里面赋给数组不行,所以我想到用截取的办法,可是截出来的数据不对。

如果我把ole_comm.object.InputLen = 1则每次只能读出来六组十六进制,读四次才能读取完毕。用串口监视工具读出来内容为一行一组的显示方式。我直接用ASC(CHAR(接收值)),由于是一行一组的所以可以解析出来,但是得读四次才能出来。

用ole_comm.object.InputLen = 0用串口监视工具则可以一下把19组给读出来,但是一行好几组十六进制数据,用截取没办法解析。解析出来的结果不正确。
请高手帮忙。
...全文
103 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

604

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 控件与界面
社区管理员
  • 控件与界面社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧