串口调试工具_VB_自己制作的

都不记得上次写博客什么时候的事了。今天我们清明放假最后一天,闲的无事,看到桌面上的“串口工具”,便想共享给大家使用

前段时间要用串口,然后百度上下载串口工具,N年前下载了一个比较好用的,现在找不到了,而且鱼目混珠的,各种串口工具,用都用不惯。最让人郁闷的是,一些串口工具都不带检测功能的,直接从com1到com7,不管在不在,你选择了,再打开,就报错。真是郁闷。想起之前我的一个系统上用串口,找些代码做了个可以检测的。就自己修改修改,做了个差不多的串口工具,给大家参考,也可直接使用,使用中如果有任何修改意见,敬请向我提出,我一定尽力修改。

首先是串口检测了。窗口如下:



其中最重要的是串口检测段的程序,如下:

Private Function jiance()
'清空下拉框
    Me.Combo1.Clear
    m = 0
    On Error Resume Next
    '最多检测30个串口,太多会变慢
    For I = 1 To 30
        Me.MSComm1.CommPort = I
        Me.MSComm1.PortOpen = True
        If Err.Number = 0 Then
            Me.Combo1.AddItem "串口" & I
            comn(m) = I
            m = m + 1
        End If
        Me.MSComm1.PortOpen = False
        Err.Clear
    Next I
    Me.Combo1.ListIndex = 0
    Command1.Enabled = True
    '若未检测到串口,显示信息
    If m = 0 Then
        Me.Combo1.Text = "未检测到串口"
        Command1.Enabled = False
    End If
    '波特率相关信息,默认9600
    Me.Combo2.AddItem "4800"
    Me.Combo2.AddItem "9600"
    Me.Combo2.AddItem "14400"
    Me.Combo2.AddItem "19200"
    Me.Combo2.AddItem "28800"
    Me.Combo2.AddItem "38400"
    Me.Combo2.AddItem "57600"
    Me.Combo2.AddItem "115200"
    Me.Combo2.ListIndex = 1
End Function


这里检测了30个串口,可以更多点,但太多会影响软件启动的速度。

串口检测完了,可以做串口通信了。我做了字符串及16进制的发送和接收。字符串比较好办,16进制就不太好处理了。

先看下界面


这个地方的代码比较长,我就不贴出了。

需要注意几点,16进制发送和接收,都是byte型的,需要和char型的转换,特别是发送的时候,需要输入两个16进制数加空格的形式,这个地方的处理,可以看下程序里面的uart_send函数,处理起来麻烦些。然后是16进制的接收和显示了,需要转换,可以参见:bytetodisp函数。这两个是比较麻烦的地方。
代码不知道怎么上传,麻烦给我发邮件,我定回复全部代码及程序。


展开阅读全文

没有更多推荐了,返回首页