MSComm 控件发送指命

二丫在哪里 2013-05-31 02:04:20
各位高手你们好,现有一个问题,有一个上位机的指令是这样的,
ID
2 Byte
Single control: 0x0001 ~ 0x0FFF
Total control: 0xFFFF

Control code
2 Byte
Turn On: 0x0001
Turn Off: 0x0000
Status query: 0x0002


我想用mscomm 控件去发送指令 如 让ID 为1 的ON 就是让ID为1的打开。 应该怎么发送
Dim bys(0 To 5) As Byte
bys(0) = ?
bys(1) = ?
bys(2) =?
bys(3) =?
bys(4) = ?
bys(5) = ?
MSComm1.Output = bys
...全文
175 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
二丫在哪里 2013-05-31
  • 打赏
  • 举报
回复
我弱弱的问一下, 指令是6个 XXYYZZ XX:ID YY:Code ZZ: 说是\r\n ZZ怎么表示?
worldy 2013-05-31
  • 打赏
  • 举报
回复
&h1和1是相同的,两者相等 换9号ID。则 bys(1)=9 或者bys(1)=&H9
of123 2013-05-31
  • 打赏
  • 举报
回复
&H1 = 1 假定你的 ID 是中 1 起始的。 Private Const TURN_OFF_COMMAND As Byte = 0 Private Const TURN_ON_COMMAND As Byte = 1 Private Const QUERY_COMMAND As Byte = 2 Dim IDcode As Long IDCode = 2 ^ (ID - 1) bys(0) = (IDCode / 256) & 255 bys(1) = IDCode & 255 bys(2) = 0 bys(3) = TURN_ON_COMMAND
二丫在哪里 2013-05-31
  • 打赏
  • 举报
回复
引用 2 楼 of123 的回复:
Dim bys(0 To 3) As Byte
你好,请问为什么不是&H1 这种型式的,如果我换成9号Id,应该怎么写
of123 2013-05-31
  • 打赏
  • 举报
回复
Dim bys(0 To 3) As Byte
of123 2013-05-31
  • 打赏
  • 举报
回复
bys(0) = 0 bys(1) = 1 bys(2) = 0 bys(3) = 1 MSComm1.Output = bys

1,453

社区成员

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

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