4458|5

18

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

vb 串口调试助手 与单片机通讯 [复制链接]

本帖最后由 paulhyde 于 2014-9-15 04:20 编辑

Private Sub clear_receivetext_Click()
    receivetext.Text = ""
End Sub

Private Sub clear_sendtext_Click()
    sendtext.Text = ""
End Sub

Private Sub close_Click()
    MSComm1.PortOpen = False '关闭串口
End Sub

Private Sub Form_Load()
    MSComm1.CommPort = 4   '使用串行端口1
    MSComm1.Settings = "9600,N,8,1"    '设置波特率等
    MSComm1.InputLen = 0    '清空从接收缓存器中读到的字符
    MSComm1.PortOpen = True     '打开端口
   
    '这是整个的初始化过程
End Sub

Private Sub open_Click()
    MSComm1.CommPort = 4   '使用串行端口1
    MSComm1.Settings = "9600,N,8,1"    '设置波特率等
    MSComm1.InputLen = 0    '清空从接收缓存器中读到的字符
    MSComm1.PortOpen = True     '打开端口
End Sub

Private Sub receive_Click()

              Dim strBuff As String
              Dim str() As Byte
             strBuff = MSComm1.Input
            str() = strBuff '接收数据处理为16进制
            For i = 0 To UBound(str)
            If Len(Hex(str(i))) = 1 Then
            strData = strData & "0" & Hex(str(i))
            Else
            strData = strData & Hex(str(i))
            End If
            Next
            receivetext.Text = LCase(strData) '转换成小写输出


             'dat = MSComm1.Input
             '  receivetext.Text = " q"       实现将接受到的数据以文本形式写到接收部分的窗体内这是核心代码。
End Sub

Private Sub send_Click()
    On Error Resume Next    '简单的错误处理
    If MSComm1.PortOpen = False Then
    MsgBox "串口已关闭"
    End If
   
   Dim a() As Byte
   Dim l As Integer, s As String
   s = sendtext.Text
   l = Len(s) / 2
   If l < 1 Then Exit Sub
   ReDim a(1 To l)
   'For I = 1 To l
   a(1) = ConvertHexChr(Mid(s, 1, 1)) * 16 + ConvertHexChr(Mid(s, 2, 1))
   Print a(1)
   'Next I
   MSComm1.Output = a

    MSComm1.InputMode = comInputModeBinary ' '设置接受模式是文本接受,还是二进制接受
  
   
End Sub


'**********************************
'字符表示的十六进制数转化为相应的整数
'错误则返回  -1
'**********************************

Function ConvertHexChr(str As String) As Integer
   
    Dim test As Integer
   
    test = Asc(str)
    If test >= Asc("0") And test <= Asc("9") Then
        test = test - Asc("0")
    ElseIf test >= Asc("a") And test <= Asc("f") Then
        test = test - Asc("a") + 10
    ElseIf test >= Asc("A") And test <= Asc("F") Then
        test = test - Asc("A") + 10
    Else
        test = -1                                       '出错信息
    End If
    ConvertHexChr = test
   
End Function

 

Product2.zip

7.37 KB, 下载次数: 38

售价: 1 分芯积分  [记录]

经调试

此帖出自电子竞赛论坛

最新回复

谢谢分享 :)  详情 回复 发表于 2012-7-5 13:31
点赞 关注
 
 

回复
举报

3836

帖子

19

TA的资源

纯净的硅(中级)

沙发
 
本帖最后由 paulhyde 于 2014-9-15 04:20 编辑

谢谢分享 :)

 

此帖出自电子竞赛论坛
 
 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

板凳
 
本帖最后由 paulhyde 于 2014-9-15 04:20 编辑

谢谢分享

 

此帖出自电子竞赛论坛
 
 
 

回复

27

帖子

0

TA的资源

一粒金砂(中级)

4
 
本帖最后由 paulhyde 于 2014-9-15 04:20 编辑

这东西不错。。。。。。。。

 

此帖出自电子竞赛论坛
 
 
 

回复

16

帖子

0

TA的资源

一粒金砂(中级)

5
 

kakkan

本帖最后由 paulhyde 于 2014-9-15 04:21 编辑

看看!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1

 

此帖出自电子竞赛论坛
 
 
 

回复

16

帖子

0

TA的资源

一粒金砂(中级)

6
 
谢谢分享 :)
此帖出自电子竞赛论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表