vb和单片机之间的16进制转换问题

ppcust 2003-08-01 11:21:50
各位大虾:
从单片机传送16进制 ab到pc几
设置方式为 二进制接受 每次接受一个字节
接受程序为:
dim inbuf(8) as byte
Private Sub comm1_OnComm()
Select Case comm1.CommEvent
Case comEvReceive
av = comm1.Input //单步的时候 av是170 是16进制的aa
inbuf(0) = Hex(av(0))/// 此处编译有错误 说类型不符
If inbuf(0) = &HAA Then aa是开始标志
RThreshold = 0
Do
DoEvents
Loop Until .InBufferCount >= 7
av = comm1.Input
inbuf(0) = av(0)
av = comm1.Input
inbuf(1) = av(0)
av = comm1.Input
inbuf(2) = av(0)
av = comm1.Input
inbuf(3) = av(0)
av = comm1.Input
inbuf(4) = av(0)
av = comm1.Input
inbuf(5) = av(0)
text1.text=inbuf

comm1.InBufferCount = 0
RThreshold = 1
End If
End Select
End Sub
怎样才能在 text中显示的是 16进制 比如bb ab
多谢
...全文
60 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Clevor 2003-08-02
  • 打赏
  • 举报
回复
把串口的属性InputMode设成1(BINARYMODE),进来就是BYTE,然后直接可以付值给整数。
或者,InputMode=0(TEXTMODE),进来的就是STRING,用MID取中间的某一个,再用ASC取它的值。
从你的程序看不出av是个什么类型,估计是BYTE,
‘inbuf(0) = Hex(av(0))/// 此处编译有错误 说类型不符’
当然是错的,HEX的后面实际有个‘$’,你把帮助好好看看,别乱用函数。
loverz 2003-08-02
  • 打赏
  • 举报
回复
有专门的转换函数啊,自己找一个看看了,很简单的.不过我没记住.
Hermit 2003-08-01
  • 打赏
  • 举报
回复
vb不熟啊,你翻翻他的函数表,看看有没有相应的。大不了自己写个

27,374

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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