怎么用mscomm传送、接收大于128的字符ASC!在线等待!

123BMW666 2003-12-15 10:20:07
怎么用mscomm传送、接收大于128的字符ASC!在线等待!
...全文
67 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lnwwh 2003-12-23
  • 打赏
  • 举报
回复
发送
dim dynamicbyte() as byte
..
..
redim dynamicbyte(1 to n)
for i = 1 to n
dynamicbyte(i) = var(i)
next i
mscomm1.output = dynamicbyte
接收
dim getbyte() as byte
..
..
getbyte = mscomm1.input
for i = lbound(getbyte) to ubound(getbyte)
var(i) = getbyte(i)
next i
zhangzq720208 2003-12-21
  • 打赏
  • 举报
回复
可以通过设置Mscommon的InputMode 属性来进行编程,InputMode 属性确定用 Input 属性读取的数据类型。如果设置 InputMode 为 comInputModeText,Input 属性通过一个 Variant 返回文本数据。如果设置 InputMode 为 comInputModeBinary,Input 属性通过一个 Variant .返回一二进制数据的数组。例如:

Private Sub Form_Load()
.....
frmCommTest.MSComm1.InputMode = 1
.....
end sub

Private Sub MSComm1_OnComm()
Dim ReceiveCode As Variant
Dim rshuju() As Byte'定义的数组长度不能确定
ReceiveCode = MSComm1.Input
rshuju = ReceiveCode
end sub
hspring 2003-12-15
  • 打赏
  • 举报
回复
大于&H80的数,不能一个一个的直接发,先把要发送的值一个一个的赋值给一个数组
然后在发送这个数组就可以了。
例:dim send(0 to 2)
form1.mscomm1.rthreshold=1
send(0)=code_1
send(1)=code_2
send(2)=code_3
form1.mscomm1.output=send
这样就可以发了,试试吧。
123BMW666 2003-12-15
  • 打赏
  • 举报
回复
怎么接收呀!我能在调试窗口中看到数据,我想得到它的ASC码, 用ASC()不行,有没有搞过的,给出代码可以 吗
脆皮大雪糕 2003-12-15
  • 打赏
  • 举报
回复
来迟了,同意楼上,用byte数组
hspring 2003-12-15
  • 打赏
  • 举报
回复
用字节类型的数组去发送
SuperZhou 2003-12-15
  • 打赏
  • 举报
回复
用二进制方式传送

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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