救命(串口通讯)--抢分呀!

ascap 2003-08-19 02:21:46
现在通过串口通讯,要通过PB发送16进制的数据,而且返回的也是16进制的数,请
问有经验的怎么做。
...全文
30 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyerlxg 2003-08-28
  • 打赏
  • 举报
回复
使用mscomm32控件来试试吧

blob bin
long time1,time2

ole_1.object.commport = 1 //使用串口1进行通信
If Not ole_1.object.PortOpen Then ole_1.object.PortOpen = True
ole_1.object.inputmode = 1 // 0为字符模式,1为二进制模式
ole_1.object.InBufferCount = 0
ole_1.object.OutBufferCount = 0
ole_1.object.output=char(255)+char(2)+char(11)
time1=cpu()
Do
time2=cpu()
if time2 - time1 < 1000 then
Yield()
else
messagebox('通信错误','请检查串口与设备连接')
if ole_1.object.portopen then ole_1.object.portopen = false
return
end if
LOOP Until ole_1.object.InBufferCount > 5
ole_1.object.inputlen = 6
bin = ole_1.object.Input

..... //进行相关的处理

if ole_1.object.portopen then ole_1.object.portopen=false
qiyousyc 2003-08-28
  • 打赏
  • 举报
回复
pb是按十进制处理的。
自己写函数对十进制和十六进制进行转换(利用求膜运算)
jackxrh 2003-08-28
  • 打赏
  • 举报
回复
在 PB 里 ,写一个function 对 十进制和十六进制进行转换 :

string ls_com

char lchar1,lchar2 .....

lchar1=12*16+3(C3)
lcahr2=0*16+4(04)
lchar3=0*16+0(00)
lchar4=6*16+0(60).....

ls_com=lchar1+lchar2+lchar3 .......

rogery 2003-08-23
  • 打赏
  • 举报
回复
呵呵,还真的不明白………
sinkiangscorpio 2003-08-23
  • 打赏
  • 举报
回复
搜索一下以前的帖子,关于串口的
ascap 2003-08-19
  • 打赏
  • 举报
回复
怎么转呢?然后怎么发呢?然后又怎么接收呢?
下面的一个十六进制数,通过PB怎么发送到串口呢?
C3 04 00 60 00 0D

请大家出主意啦!
jdsnhan 2003-08-19
  • 打赏
  • 举报
回复
好象一般的发送的是16进制,返回的是10进制。
如果也想要16进制,你可以转换!
polugen 2003-08-19
  • 打赏
  • 举报
回复
进制转换
Jekson 2003-08-19
  • 打赏
  • 举报
回复
关注!

680

社区成员

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

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