VB串行口传输16进制的数,怎么正常接受并显示啊?
时间:2011-11-02
来源:互联网
Dim rece As Byte
receive = MSComm1.Input
结果是类型不匹配。
有些列子(虽然不知道能不能用),写了很多。连BulidCommDCB都出来了。不知道是不是要这么写。
frmMain.ctrMSComm.InputMode = comInputModeBinary
其他单片机的程序写的很简单的样子。这个数据是一个字节,十六位的。数据是“CC ”变成了“烫”
其他现成的程序用Hex可以正常显示。
receive = MSComm1.Input
结果是类型不匹配。
有些列子(虽然不知道能不能用),写了很多。连BulidCommDCB都出来了。不知道是不是要这么写。
frmMain.ctrMSComm.InputMode = comInputModeBinary
其他单片机的程序写的很简单的样子。这个数据是一个字节,十六位的。数据是“CC ”变成了“烫”
其他现成的程序用Hex可以正常显示。
作者: sk670915 发布时间: 2011-11-02
Dim rece As Byte
receive = MSComm1.Input
msgbox hex(receive)
'16进制转换函数hex
receive = MSComm1.Input
msgbox hex(receive)
'16进制转换函数hex
作者: chinaboyzyq 发布时间: 2011-11-03
VB code
参阅这个
Dim receive As Varint dim intP as integer dim bytR(0 to 100) as byte MSCOMM1.inputLen receive = MSComm1.Input bytR(intP)=receive(0)
参阅这个
作者: Veron_04 发布时间: 2011-11-03
主要是A-F这几个字母不被Byte类型识别,一直显示类型不匹配。
作者: sk670915 发布时间: 2011-11-03
引用 3 楼 sk670915 的回复:
主要是A-F这几个字母不被Byte类型识别,一直显示类型不匹配。
主要是A-F这几个字母不被Byte类型识别,一直显示类型不匹配。
那是你的InputMode的问题
参阅一下我给你的那个例子。
作者: Veron_04 发布时间: 2011-11-03
不只是inputmode问题,只改inputmode没有用的,稍稍看了下程序,觉得以下程序的可能性更高
outbte(q) = Val("&h" + Hex(Asc(vChar(q))))
Text4.Text = Text4.Text & Hex(Asc(Mid(out, q + 1, 1)))
Text4.Text = Text4.Text & Hex(CRC(1)) & Hex(CRC(0))
outbte(q) = Val("&h" + Hex(Asc(vChar(q))))
Text4.Text = Text4.Text & Hex(Asc(Mid(out, q + 1, 1)))
Text4.Text = Text4.Text & Hex(CRC(1)) & Hex(CRC(0))
作者: sk670915 发布时间: 2011-11-03
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28