pb调用MSComm问题,急!!!在线等!!!!

fwei0121 2012-05-13 02:50:11
窗口open事件:
ole_MSComm.object.CommPort=4
ole_MSComm.object.Settings='19200,N,8,1'
ole_MSComm.object.Rthreshold=1
ole_MSComm.object.Inputlen=0
ole_MSComm.object.PortOpen=true

ole_MSComm的oncomm事件:
choose case ole_MSComm.object.CommEvent
case 2
String ls_Msg
ole_mscomm.object.InputLen = 0
ls_Msg = ole_mscomm.object.Input
st_3.text = ls_Msg
messagebox("11",ls_Msg)
end choose

为什么我传的值比如说是116#a(串口精灵测试),为什么st_3显示的为16#a,messagebox提示的是1。我要怎样才能直接得到116#a呢?
...全文
354 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dmg7205 2012-05-15
  • 打赏
  • 举报
回复
ole_1.object.CommPort=1
ole_1.object.Settings='115200,N,8,1'
ole_1.object.Rthreshold=1
ole_1.object.Inputlen=1
ole_1.object.InputMode=0
ole_1.obejct.SThreshold=1
ole_1.InBufferSize=1024
ole_1.object.OutBufferSize=512
ole_1.object.InBufferCount=0
ole_1.object.OutBufferCount=0
ole_1.PortOpen=true
wixinyoyo 2012-05-14
  • 打赏
  • 举报
回复

ole_MSComm的oncomm事件:
choose case ole_MSComm.object.CommEvent
case 2
String ls_Msg
//ole_mscomm.object.InputLen = 0 //把这一句去掉
ls_Msg = ole_mscomm.object.Input
st_3.text += ls_Msg //这里累加起来 用 +=
//messagebox("11",ls_Msg)//这个先注释掉
end choose



fwei0121 2012-05-13
  • 打赏
  • 举报
回复
我发过来的字符长度是不能确定的,2-5位都有可能啊,也不能设成5位,因为如果传的是2位的我也要掉出来,有什么办法没有使我串口传过来的是什么就调出什么来呢?
[Quote=引用 1 楼 的回复:]
ole_1.Object.rthreshold = 1这里错了,
不要=1
要=发送过来的长度
[/Quote]
qq_1919561306 2012-05-13
  • 打赏
  • 举报
回复
ole_1.Object.rthreshold = 1这里错了,
不要=1
要=发送过来的长度

604

社区成员

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

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