| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 449 人关注过本帖
标题:求大神帮忙,怎样用 VB 程序对串口接收到的数据进行处理,然后放到 MSHFlex ...
只看楼主 加入收藏
Erisxu
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-10-25
收藏
 问题点数:0 回复次数:0 
求大神帮忙,怎样用 VB 程序对串口接收到的数据进行处理,然后放到 MSHFlex 上进行显示。
接收的数据有起始标志位11和结束标志位55
单片机是主机,电脑是从机,单片机一直在发送数据到电脑。
所以串口一直在接收数据,由于小妹不晓得怎么去处理接收到的数据,将它一个一个放入一个数组里,然后再放到MSHFlex中一个一个进行显示。
求大神帮忙修改下   谢谢!
不知怎么样去设标志位进行判断!

Private Sub MSComm1_OnComm()
 Select Case     '事件发生
    Case 2
      Cls
         MSComm1.InputLen = 0     '读入缓冲区全部内容
            strBuff = MSComm1.Input   '读入到缓冲区
      
             If MSComm1.InputMode = comInputModeBinary Then
                      BytReceived() = strBuff     '如果是二进制接收模式则进行数据处理,否则直接显示字符串
     
                     For I = 0 To UBound(BytReceived())
                  
                              If Len(Hex(BytReceived(I))) = 1 Then
                                strdata = strdata & "0" & Hex(BytReceived(I))         '如果只有一个字符,则前补0,如F显示0F,最后补空格
                              Else                                                    '方便显示观察如:00 0F FE
                                 strdata = strdata & Hex(BytReceived(I))
                              End If
                      Next     
              TextReceive = TextReceive & strdata
                strdata = ""
            Else
                TextReceive = TextReceive & strBuff
            End If
                  TextReceive = TextReceive & strdata
            Text1.Text = Text1.Text + TextReceive
            a(2) = Mid(Text1.Text, 5, 2)
             If a(2) = "01" Then
                  j = 1
                 For k = 1 To 19
           
                         MSHFlex2.TextMatrix(k, 1) = Mid(Text1.Text, j, 2)
                          j = j + 2
                        MSHFlex2.ColAlignment = flexAlignRightCenter
                 Next
            
             ElseIf a(2) = "02" Then
                  j = 1
                 For k = 1 To 19
           
                     MSHFlex3.TextMatrix(k, 1) = Mid(Text1.Text, j, 2)
                      j = j + 2
                    MSHFlex3.ColAlignment = flexAlignRightCenter
                Next
             End If
  End Select
     MSComm1.InBufferCount = 0
     MSComm1.OutBufferCount = 0
End Sub
搜索更多相关主题的帖子: 单片机 缓冲区 主机 
2014-10-25 12:51
快速回复:求大神帮忙,怎样用 VB 程序对串口接收到的数据进行处理,然后放到 MS ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015061 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved