| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2856 人关注过本帖
标题:PB使用MsComm32.ocx控件输出16进制数
取消只看楼主 加入收藏
yo_yo2005
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-12-25
收藏
 问题点数:0 回复次数:0 
PB使用MsComm32.ocx控件输出16进制数
String ls_parm , ls_16jz
Int li_10jz

ls_parm = "0A1A2A3A4A5A6A7A8A9A"//16进制字符串  每两位是一个16进制字符
For i = 1 To Len(ls_parm) step 2
    ls_16jz = Mid(ls_parm,i,2)
    li_10jz = gf_hextodec(ls_16jz) //先把16进制转换成10进制
    ls_output = ls_output + Char(li_10jz)
Next
ole_1.object.output = ls_output

gf_writelog(ls_output)//记录日志  用Minihex软件查看输出的16进制是多少

我记录了日志 通过串口传出16进制变成
0x0A 0x1A 0x2A 0x3A 0x4A 0x5A 0x6A 0x7A 0x3F 0x3F

前面的都是好好的
最后两个 不知道为什么就变成转换成0x3F了



String ls_parm , ls_16jz
Int li_10jz

ls_parm = "7376787980"//16进制字符串  每两位是一个16进制字符
For i = 1 To Len(ls_parm) step 2
    ls_16jz = Mid(ls_parm,i,2)
    li_10jz = gf_hextodec(ls_16jz) //先把16进制转换成10进制
    ls_output = ls_output + Char(li_10jz)
Next
ole_1.object.output = ls_output

gf_writelog(ls_output)//记录日志  用Minihex软件查看输出的16进制是多少


我记录了日志 通过串口传出16进制变成
0x73 0x76 0x78 0x79 0x3F

通过我检测发现 16进制的字符 79 以前输出的都可以用
等到 16进制 80 输出又变成 0x3F


总结:
一个16进制字符
如果是一个字母  一个数字  组合的  肯定不行
如果是两个数字的组合 只要前面那个数字超过8  又不行了



高手请教这是怎么回事


串口输出16进制数据到底该怎么处理




搜索更多相关主题的帖子: 记录 软件 字符串 
2011-12-25 13:31
快速回复:PB使用MsComm32.ocx控件输出16进制数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033273 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved