请高手提供一个VB + COM 例子:需要发送命令并接收数据

dianzi011 2012-07-11 09:41:30
请高手提供一个VB + COM 例子:需要发送命令并接收数据,接口如下所示,流程是,
1. 发送一个命令,使仪器将当前值发送出来
2. 接收发送的数据,并存到本地

如果可以请提供可运行的代码,包含发送命令,和接收

接口:
命令
ASCII 10进制 16进制 说明
9 57 39 发送测力计的当前值

测力计发送当前值的格式:
每次传送七位数据,其中第一位是受力方向位(为1时为受力方向是拉,为0时为受力方向为压),后面六位是数据位(六位中其中一位是小数点位),每位都是用ASCII码的形式传送,波特率为9600,串口模式三,无奇偶校验。

发送格式(ASCII)
位1 位2 位3 位4 位5 位6 位7
受力方向位 数据1 数据2 小数点 数据3 数据4 数据位5
...全文
492 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dianzi011 2012-07-11
  • 打赏
  • 举报
回复
我都没有积分了,能帮忙贴一下或者邮箱给我? dianzi011sh@163.com
zdingyun 2012-07-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
只是还没有想到如何处理下面的逻辑:
发送格式(ASCII)
位1 位2 位3 位4 位5 位6 位7
受力方向位 数据1 数据2 小数点 数据3 数据4 数据位5
[/Quote]
位1 位2 位3 位4 位5 位6 位7
受力方向位 数据1 数据2 小数点 数据3 数据4 数据位5

LZ,你这是接收7字节数据,可设置RThreshold = 7,在OnComm事件中接收,判断和处理数据.
dianzi011 2012-07-11
  • 打赏
  • 举报
回复
只是还没有想到如何处理下面的逻辑:
发送格式(ASCII)
位1 位2 位3 位4 位5 位6 位7
受力方向位 数据1 数据2 小数点 数据3 数据4 数据位5
dianzi011 2012-07-11
  • 打赏
  • 举报
回复
呵呵,这些都没有问题了,只是差一个例子,大家舍不得啊。不过我还是测试出来了,现在贴出来,供大家参考:
接收的MSCOMM的例子:
Select Case MSComWeight.CommEvent
Case comEvReceive
DelayTimer.Enabled = False
Instring = vbNullString

Do While MSComWeight.InBufferCount <> 0
Instring = Instring & MSComWeight.Input
DoEvents
Loop


发送
If Not MSComWeight.PortOpen Then
MSComWeight.PortOpen = True
End If
outstring = "test"
MSComWeight.Output = outstring '此行即为发送命令


贝隆 2012-07-11
  • 打赏
  • 举报
回复
建议你先用串口调试器调试通信命令,如果没有问题了,那么再编写自己的程序。
dianzi011 2012-07-11
  • 打赏
  • 举报
回复
没人回答?
我先贴一个我之前做好的只接收的MSCOMM的例子:
Select Case MSComWeight.CommEvent
Case comEvReceive
DelayTimer.Enabled = False
Instring = vbNullString

Do While MSComWeight.InBufferCount <> 0
Instring = Instring & MSComWeight.Input
DoEvents
Loop

发送命令就没有试成功过

863

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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