OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6412|回复: 6

VB界面不显示

[复制链接]

3

主题

11

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2012-12-6
在线时间
0 小时
发表于 2012-12-11 16:01:59 | 显示全部楼层 |阅读模式

串口助手接收了fe01130501
为什么VB界面不显示,以下是VB程序
 rivate Sub Command3_Click()
Text1.Text = ""
End Sub

Private Sub Form_Load()
MSComm1.Settings = "9600,n,8,1"
MSComm1.RThreshold = 6
MSComm1.InputLen = 0
MSComm1.InputMode = comInputModeBinary
End Sub

Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent

Case comEvReceive
            MSComm1.RThreshold = 0
            buffer = MSComm1.Input                  '接收数据至字符串中
            BytesReceived() = buffer                '将数据转入Byte数组中
            For i = 0 To UBound(BytesReceived)      '显示结果以十六进制显示
                If Len(Hex(BytesReceived(i))) = 1 Then
                    HData = HData & "0" & Hex(BytesReceived(i))
                Else
                    HData = HData & Hex(BytesReceived(i))
                End If
            Next i
      
          If Mid(HData, 1, 2) = "FE" And Len(HData) = 10 Then                   '提取帧结构
             Text1.Text = Text1.Text & HData & Chr(13) & Chr(10)    '显示接收到的数据             Text7.Text = HData
             A = Val("&H" & Mid(HData, 5, 2)) + (Mid(HData, 7, 2) * 0.1)             
             dizhi = Mid(HData, 3, 2)
             If dizhi = "01" Then
             Text3.Text = A & "℃"            
             ElseIf dizhi = "02" Then
             Text5.Text = A & "℃"             
             End If
          End If
          MSComm1.InBufferCount = 0
          MSComm1.RThreshold = 6
End Select
End Sub

 

Private Sub Timer1_Timer()
Label6.Caption = Now
End Sub

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

105

主题

522

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1386
金钱
1386
注册时间
2012-10-23
在线时间
97 小时
发表于 2012-12-11 17:12:31 | 显示全部楼层
回复【楼主位】ncepuyang2013:
---------------------------------
6个字节字节的接收,可能不满足你的 If Mid(HData, 1, 2) = "FE" 
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2012-12-6
在线时间
0 小时
 楼主| 发表于 2012-12-11 18:03:29 | 显示全部楼层
回复【2楼】miaoguoqiang:
---------------------------------
改成接收F还是不行,该怎么改呢?
回复 支持 反对

使用道具 举报

105

主题

522

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1386
金钱
1386
注册时间
2012-10-23
在线时间
97 小时
发表于 2012-12-11 21:15:49 | 显示全部楼层
回复【3楼】ncepuyang2013:
---------------------------------
MSComm1.RThreshold = 1
当收到你需要的字节后,连续接收之后的几个字节就ok了
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2012-12-6
在线时间
0 小时
 楼主| 发表于 2013-3-25 20:36:06 | 显示全部楼层
回复【4楼】miaoguoqiang:
---------------------------------
能给我改个完整的吗?谢谢
回复 支持 反对

使用道具 举报

105

主题

522

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1386
金钱
1386
注册时间
2012-10-23
在线时间
97 小时
发表于 2013-3-26 07:25:30 | 显示全部楼层
回复【5楼】ncepuyang2013:
---------------------------------
还有用modbus rtu协议最方便!完整的还是你自己修改咯。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2013-3-30
在线时间
0 小时
发表于 2013-3-30 14:46:02 | 显示全部楼层
回复【6楼】miaoguoqiang:
---------------------------------
我改用虚拟串口VB就能接收,换成开发板就不行了为什么?求大神
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-22 06:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表