通过串口发送十六进制fc0000080020,对方接收到并以十六进制方式显示为fc0000080020,可是串口只能以文本或二进制方式发送,不知道该如何解决了,请大家帮忙!
解决方案 »
- vb6是否要跟上.net
- 请认为VB不好的人别到VB论坛里乱说,免得闹笑话。
- 寻求VB的反编译工具,谢谢.
- VB+ACCESS的重新查询(REQUERY)问题
- 用vb6創建odbc為什麼不行?進入看代碼 ?
- 很抱歉请问一下能够列出所有窗口类名的软件在哪儿下载得到,还有请问WINDOWS运行框里的输入框的类名是什么 。
- 那有有VB常量值的含义或说明的资料???????????
- 关于combobox的使用问题!
- c/s ---〉b/s 的一个问题,请教高手。。。
- 为什么我的listview添加listitem时,总是类型不对?
- vb+sql 存取PDF文件?
- data控件与msflexgrid控件联接后,如何将msflexgrid控件里修改过的内容对数据库进行动态更新?
十六进制串实际上是文本。文本方式:
发:
dim tmp as string
tmp = "fc0000080020"
mscomm1.output = tmp收:
dim tmp as string
tmp = mscomm1.input二进制方式:
发:
dim tmp as string, arr() As Byte, i as integer, n as integer
tmp = "fc0000080020"
n = len(tmp)\2 - 1
redim arr(n)
for i = 0 to n
arr(i) = Val("&H" & Mid(tmp, i * 2 + 1, 2))
next i
mscomm1.output = arr 收:
mscomm1.inputmode = 1
dim tmp as viriant
dim arr() as byte
dim str1 as string
tmp = mscomm1.input
arr = tmp
for i = 0 to ubound(arr)
str1 = str1 & right("0" & hex(arr(i)))
next i记住,不管是什么格式,线路上传送的只能是由 0 和 1 组成的数字,也就是二进制数。问题在于你如何解释这些数字。所谓文本,实际上是将数字解释成字符的 ASCII 码。