找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8153|回复: 4
收起左侧

VB串口调试软件源代码

  [复制链接]
ID:323859 发表于 2018-5-6 23:13 | 显示全部楼层 |阅读模式
VB串口调试软件的运行界面如下:
0.png

源码工程资料包:
0.png

vb源程序如下:
  1. VERSION 5.00
  2. Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "mscomm32.ocx"
  3. Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "ComDlg32.OCX"
  4. Begin VB.Form 串口调试软件
  5.    BackColor       =   &H0091CACA&
  6.    BorderStyle     =   1  'Fixed Single
  7.    Caption         =   "串口调试软件V1.0"
  8.    ClientHeight    =   6360
  9.    ClientLeft      =   4020
  10.    ClientTop       =   3120
  11.    ClientWidth     =   10815
  12.    FillColor       =   &H0091CACA&
  13.    ForeColor       =   &H0091CACA&
  14.    Icon            =   "串口调试助手.frx":0000
  15.    LinkTopic       =   "Form1"
  16.    MaxButton       =   0   'False
  17.    Picture         =   "串口调试助手.frx":030A
  18.    ScaleHeight     =   6360
  19.    ScaleWidth      =   10815
  20.    Begin MSComDlg.CommonDialog CommonDialog1
  21.       Left            =   8160
  22.       Top             =   5880
  23.       _ExtentX        =   847
  24.       _ExtentY        =   847
  25.       _Version        =   393216
  26.       Filter          =   "文本文件(*.txt)|*.txt"
  27.    End
  28.    Begin VB.Timer TmrNowTime
  29.       Interval        =   1000
  30.       Left            =   1320
  31.       Top             =   4320
  32.    End
  33.    Begin VB.Timer TmrAutoSend
  34.       Left            =   7680
  35.       Top             =   5880
  36.    End
  37.    Begin MSCommLib.MSComm MSComm
  38.       Left            =   7080
  39.       Top             =   5760
  40.       _ExtentX        =   1005
  41.       _ExtentY        =   1005
  42.       _Version        =   393216
  43.       DTREnable       =   -1  'True
  44.    End
  45.    Begin VB.PictureBox Picture1
  46.       BackColor       =   &H00E0E0E0&
  47.       Height          =   500
  48.       Left            =   9360
  49.       Picture         =   "串口调试助手.frx":3EEC
  50.       ScaleHeight     =   435
  51.       ScaleWidth      =   435
  52.       TabIndex        =   43
  53.       Top             =   5850
  54.       Width           =   500
  55.    End
  56.    Begin VB.TextBox TxtAutoSendTime
  57.       Height          =   300
  58.       Left            =   1320
  59.       TabIndex        =   41
  60.       Text            =   "1000"
  61.       Top             =   5730
  62.       Width           =   660
  63.    End
  64.    Begin VB.CommandButton CmdAmend
  65.       Appearance      =   0  'Flat
  66.       Caption         =   "更改"
  67.       Height          =   300
  68.       Left            =   1250
  69.       TabIndex        =   37
  70.       Top             =   3450
  71.       Width           =   505
  72.    End
  73.    Begin VB.CommandButton CmdSaveDisp
  74.       Appearance      =   0  'Flat
  75.       Caption         =   "保存显示数据"
  76.       Height          =   300
  77.       Left            =   30
  78.       TabIndex        =   36
  79.       Top             =   3450
  80.       Width           =   1225
  81.    End
  82.    Begin VB.CommandButton CmdHelp
  83.       Caption         =   "关于"
  84.       Height          =   300
  85.       Left            =   8760
  86.       TabIndex        =   21
  87.       Top             =   6050
  88.       Width           =   505
  89.    End
  90.    Begin VB.CommandButton CmdQuit
  91.       Caption         =   "关闭程序"
  92.       Height          =   495
  93.       Left            =   9900
  94.       TabIndex        =   20
  95.       Top             =   5820
  96.       Width           =   870
  97.    End
  98.    Begin VB.CommandButton CmdClearCounter
  99.       Caption         =   "计数清零"
  100.       Height          =   300
  101.       Left            =   6100
  102.       TabIndex        =   19
  103.       Top             =   6080
  104.       Width           =   865
  105.    End
  106.    Begin VB.CommandButton CmdSendFile
  107.       Caption         =   "发送文件"
  108.       Height          =   280
  109.       Left            =   5580
  110.       TabIndex        =   18
  111.       Top             =   5700
  112.       Width           =   900
  113.    End
  114.    Begin VB.TextBox TxtSendPath
  115.       Alignment       =   2  'Center
  116.       BackColor       =   &H0091CACA&
  117.       Height          =   270
  118.       Left            =   3800
  119.       TabIndex        =   17
  120.       Text            =   "还没有选择文件"
  121.       Top             =   5740
  122.       Width           =   1700
  123.    End
  124.    Begin VB.CommandButton CmdSelectFile
  125.       Caption         =   "选择发送文件"
  126.       Height          =   280
  127.       Left            =   2520
  128.       TabIndex        =   16
  129.       Top             =   5700
  130.       Width           =   1225
  131.    End
  132.    Begin VB.TextBox TxtTXCount
  133.       Alignment       =   2  'Center
  134.       BackColor       =   &H0091CACA&
  135.       Height          =   270
  136.       Left            =   4680
  137.       TabIndex        =   15
  138.       Text            =   "TX:0"
  139.       Top             =   6080
  140.       Width           =   1340
  141.    End
  142.    Begin VB.TextBox TxtRXCount
  143.       Alignment       =   2  'Center
  144.       BackColor       =   &H0091CACA&
  145.       Height          =   270
  146.       Left            =   3340
  147.       TabIndex        =   14
  148.       Text            =   "RX:0"
  149.       Top             =   6080
  150.       Width           =   1350
  151.    End
  152.    Begin VB.TextBox TxtStatus
  153.       Alignment       =   2  'Center
  154.       BackColor       =   &H0091CACA&
  155.       Height          =   270
  156.       Left            =   260
  157.       TabIndex        =   13
  158.       Top             =   6080
  159.       Width           =   3100
  160.    End
  161.    Begin VB.CheckBox ChkAutoSend
  162.       BackColor       =   &H0091CACA&
  163.       Caption         =   "Check4"
  164.       Height          =   255
  165.       Left            =   30
  166.       TabIndex        =   12
  167.       Top             =   5480
  168.       Width           =   255
  169.    End
  170.    Begin VB.CheckBox ChkHexSend
  171.       BackColor       =   &H0091CACA&
  172.       Caption         =   "Check3"
  173.       Height          =   255
  174.       Left            =   30
  175.       TabIndex        =   11
  176.       Top             =   5160
  177.       Width           =   255
  178.    End
  179.    Begin VB.CommandButton CmdSend
  180.       Caption         =   "手动发送"
  181.       Height          =   300
  182.       Left            =   1590
  183.       TabIndex        =   10
  184.       Top             =   5160
  185.       Width           =   870
  186.    End
  187.    Begin VB.CommandButton CmdClearSend
  188.       Caption         =   "清空重填"
  189.       Height          =   300
  190.       Left            =   100
  191.       TabIndex        =   9
  192.       Top             =   4850
  193.       Width           =   870
  194.    End
  195.    Begin VB.TextBox TxtSend
  196.       Height          =   865
  197.       Left            =   2560
  198.       MultiLine       =   -1  'True
  199.       ScrollBars      =   2  'Vertical
  200.       TabIndex        =   8
  201.       Top             =   4820
  202.       Width           =   8225
  203.    End
  204.    Begin VB.TextBox TxtSavePath
  205.       BackColor       =   &H0091CACA&
  206.       Height          =   270
  207.       Left            =   60
  208.       TabIndex        =   7
  209.       Text            =   "C:\COMDATA"
  210.       Top             =   3760
  211.       Width           =   1650
  212.    End
  213.    Begin VB.CheckBox ChkHexReceive
  214.       BackColor       =   &H0091CACA&
  215.       Caption         =   "Check2"
  216.       Height          =   255
  217.       Left            =   50
  218.       TabIndex        =   6
  219.       Top             =   3100
  220.       Width           =   255
  221.    End
  222.    Begin VB.CheckBox ChkAutoClear
  223.       BackColor       =   &H0091CACA&
  224.       Caption         =   "Check1"
  225.       Height          =   255
  226.       Left            =   50
  227.       TabIndex        =   5
  228.       Top             =   2850
  229.       Width           =   255
  230.    End
  231.    Begin VB.CommandButton CmdStopdisp
  232.       Caption         =   "停止显示"
  233.       Height          =   310
  234.       Left            =   30
  235.       TabIndex        =   4
  236.       Top             =   2520
  237.       Width           =   1050
  238.    End
  239.    Begin VB.CommandButton CmdClearReceive
  240.       Caption         =   "清空接收区"
  241.       Height          =   310
  242.       Left            =   30
  243.       TabIndex        =   3
  244.       Top             =   2190
  245.       Width           =   1050
  246.    End
  247.    Begin VB.Frame Frame1
  248.       BackColor       =   &H0091CACA&
  249.       Height          =   2200
  250.       Left            =   0
  251.       TabIndex        =   2
  252.       Top             =   -100
  253.       Width           =   1650
  254.       Begin VB.ComboBox CboStopbit
  255.          Height          =   300
  256.          ItemData        =   "串口调试助手.frx":7ACE
  257.          Left            =   750
  258.          List            =   "串口调试助手.frx":7ADB
  259.          TabIndex        =   26
  260.          Text            =   "1"
  261.          Top             =   1300
  262.          Width           =   800
  263.       End
  264.       Begin VB.ComboBox CboDatabit
  265.          Height          =   300
  266.          ItemData        =   "串口调试助手.frx":7AEA
  267.          Left            =   750
  268.          List            =   "串口调试助手.frx":7AFA
  269.          TabIndex        =   25
  270.          Text            =   "8"
  271.          Top             =   1000
  272.          Width           =   800
  273.       End
  274.       Begin VB.ComboBox CboParitybit
  275.          Height          =   300
  276.          ItemData        =   "串口调试助手.frx":7B0A
  277.          Left            =   750
  278.          List            =   "串口调试助手.frx":7B1D
  279.          TabIndex        =   24
  280.          Text            =   "NONE"
  281.          Top             =   700
  282.          Width           =   800
  283.       End
  284.       Begin VB.ComboBox CboBaudrate
  285.          Height          =   300
  286.          ItemData        =   "串口调试助手.frx":7B3F
  287.          Left            =   750
  288.          List            =   "串口调试助手.frx":7B6A
  289.          TabIndex        =   23
  290.          Text            =   "9600"
  291.          Top             =   400
  292.          Width           =   800
  293.       End
  294.       Begin VB.ComboBox CboCom
  295.          Height          =   300
  296.          ItemData        =   "串口调试助手.frx":7BC3
  297.          Left            =   750
  298.          List            =   "串口调试助手.frx":7BF4
  299.          TabIndex        =   22
  300.          Text            =   "COM1"
  301.          Top             =   111
  302.          Width           =   800
  303.       End
  304.       Begin VB.CommandButton CmdSwitch
  305.          Caption         =   "关闭串口"
  306.          Height          =   440
  307.          Left            =   720
  308.          TabIndex        =   1
  309.          Top             =   1740
  310.          Width           =   870
  311.       End
  312.       Begin VB.Image ImgSwitchOn
  313.          Appearance      =   0  'Flat
  314.          Height          =   420
  315.          Left            =   120
  316.          Picture         =   "串口调试助手.frx":7C58
  317.          Top             =   1680
  318.          Width           =   450
  319.       End
  320.       Begin VB.Image ImgSwitchOff
  321.          Height          =   420
  322.          Left            =   120
  323.          Picture         =   "串口调试助手.frx":B6F5
  324.          Top             =   1680
  325.          Width           =   450
  326.       End
  327.       Begin VB.Label Label8
  328.          Alignment       =   2  'Center
  329.          BackColor       =   &H0091CACA&
  330.          Caption         =   "停止位"
  331.          Height          =   255
  332.          Left            =   50
  333.          TabIndex        =   33
  334.          Top             =   1400
  335.          Width           =   600
  336.       End
  337.       Begin VB.Label Label7
  338.          Alignment       =   2  'Center
  339.          BackColor       =   &H0091CACA&
  340.          Caption         =   "数据位"
  341.          Height          =   255
  342.          Left            =   50
  343.          TabIndex        =   32
  344.          Top             =   1080
  345.          Width           =   600
  346.       End
  347.       Begin VB.Label Label6
  348.          Alignment       =   2  'Center
  349.          BackColor       =   &H0091CACA&
  350.          Caption         =   "校验位"
  351.          Height          =   255
  352.          Left            =   50
  353.          TabIndex        =   31
  354.          Top             =   760
  355.          Width           =   600
  356.       End
  357.       Begin VB.Label Label5
  358.          Alignment       =   2  'Center
  359.          BackColor       =   &H0091CACA&
  360.          Caption         =   "波特率"
  361.          Height          =   255
  362.          Left            =   50
  363.          TabIndex        =   30
  364.          Top             =   470
  365.          Width           =   600
  366.       End
  367.       Begin VB.Label Label4
  368.          Alignment       =   2  'Center
  369.          BackColor       =   &H0091CACA&
  370.          Caption         =   "串口"
  371.          Height          =   255
  372.          Left            =   50
  373.          TabIndex        =   29
  374.          Top             =   160
  375.          Width           =   600
  376.       End
  377.    End
  378.    Begin VB.TextBox TxtReceive
  379.       Height          =   4750
  380.       Left            =   1800
  381.       MultiLine       =   -1  'True
  382.       ScrollBars      =   2  'Vertical
  383.       TabIndex        =   0
  384.       Top             =   6
  385.       Width           =   8990
  386.    End
  387.    Begin VB.Label LblWeb
  388.       BackColor       =   &H0091CACA&
  389.       Caption         =   "WEB"
  390.       ForeColor       =   &H008A7839&
  391.       Height          =   220
  392.       Left            =   8880
  393.       MouseIcon       =   "串口调试助手.frx":EE3B
  394.       TabIndex        =   46
  395.       Top             =   5760
  396.       Width           =   300
  397.    End
  398.    Begin VB.Label LblNewDate
  399.       Alignment       =   2  'Center
  400.       BackColor       =   &H0091CACA&
  401.       Caption         =   "显示日前"
  402.       Height          =   255
  403.       Left            =   240
  404.       TabIndex        =   45
  405.       Top             =   4440
  406.       Width           =   1215
  407.    End
  408.    Begin VB.Label LblNowTime
  409.       Alignment       =   2  'Center
  410.       BackColor       =   &H0091CACA&
  411.       Caption         =   "当前时间"
  412.       ForeColor       =   &H00000000&
  413.       Height          =   195
  414.       Left            =   240
  415.       TabIndex        =   44
  416.       Top             =   4200
  417.       Width           =   1215
  418.    End
  419.    Begin VB.Label Label14
  420.       BackColor       =   &H0091CACA&
  421.       Caption         =   "毫秒"
  422.       Height          =   255
  423.       Left            =   2000
  424.       TabIndex        =   42
  425.       Top             =   5760
  426.       Width           =   450
  427.    End
  428.    Begin VB.Label LblArtoSendCyc
  429.       BackColor       =   &H0091CACA&
  430.       Caption         =   "自动发送周期:"
  431.       Height          =   200
  432.       Left            =   60
  433.       TabIndex        =   40
  434.       Top             =   5760
  435.       Width           =   1270
  436.    End
  437.    Begin VB.Label LblAutoSend
  438.       Alignment       =   2  'Center
  439.       BackColor       =   &H0091CACA&
  440.       Caption         =   "自动发送(周期改变后重选)"
  441.       Height          =   200
  442.       Left            =   240
  443.       TabIndex        =   39
  444.       Top             =   5510
  445.       Width           =   2215
  446.    End
  447.    Begin VB.Label Label11
  448.       Alignment       =   2  'Center
  449.       BackColor       =   &H0091CACA&
  450.       Caption         =   "十六进制发送"
  451.       Height          =   200
  452.       Left            =   240
  453.       TabIndex        =   38
  454.       Top             =   5200
  455.       Width           =   1200
  456.    End
  457.    Begin VB.Label Label10
  458.       BackColor       =   &H0091CACA&
  459.       Caption         =   "十六进制显示"
  460.       Height          =   200
  461.       Left            =   330
  462.       TabIndex        =   35
  463.       Top             =   3140
  464.       Width           =   1200
  465.    End
  466.    Begin VB.Label LblArtoclear
  467.       BackColor       =   &H0091CACA&
  468.       Caption         =   "自动清空"
  469.       Height          =   200
  470.       Left            =   330
  471.       TabIndex        =   34
  472.       Top             =   2870
  473.       Width           =   800
  474.    End
  475.    Begin VB.Label LblSend
  476.       BackColor       =   &H0091CACA&
  477.       BorderStyle     =   1  'Fixed Single
  478.       Caption         =   "发送的字符/数据"
  479.       Height          =   270
  480.       Left            =   1100
  481.       TabIndex        =   28
  482.       Top             =   4850
  483.       Width           =   1420
  484.    End
  485.    Begin VB.Label LblReceive
  486.       BackColor       =   &H0091CACA&
  487.       BorderStyle     =   1  'Fixed Single
  488.       Caption         =   "接收区"
  489.       Height          =   255
  490.       Left            =   1130
  491.       TabIndex        =   27
  492.       Top             =   2180
  493.       Width           =   595
  494.    End
  495. End
  496. Attribute VB_Name = "串口调试软件"
  497. Attribute VB_GlobalNameSpace = False
  498. Attribute VB_Creatable = False
  499. Attribute VB_PredeclaredId = True
  500. Attribute VB_Exposed = False

  501. '=====================================================================================
  502. '                   变量定义

  503. '=====================================================================================

  504. Option Explicit                                                                     ' 强制显式声明

  505. Dim ComSwitch As Boolean                                                            ' 串口开关状态判断
  506. Dim FileData As String                                                              ' 要发送的文件暂存
  507. Dim SendCount As Long                                                               ' 发送数据字节计数器
  508. Dim ReceiveCount As Long                                                            ' 接收数据字节计数器
  509. Dim InputSignal As String                                                           ' 接收缓冲暂存
  510. Dim OutputSignal As String                                                          ' 发送数据暂存
  511. Dim DisplaySwitch As Boolean                                                        ' 显示开关
  512. Dim ModeSend As Boolean                                                             ' 发送方式判断
  513. Dim Savetime As Single                                                              ' 时间数据暂存 延时用
  514. Dim SaveTextPath As String                                                          ' 保存文本路径

  515. ' 网页超链接申明
  516. Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

  517. '====================================================================================
  518. '                 自动发送选择

  519. '=====================================================================================

  520. Private Sub ChkAutoSend_Click()

  521. On Error GoTo Err
  522.     If ChkAutoSend.Value = 1 Then                                                   ' 如果有效则,自动发送
  523.         If MSComm.PortOpen = True Then                                              ' 串口状态判断
  524.             TmrAutoSend.Interval = Val(TxtAutoSendTime)                             ' 设置自动发送时间
  525.             TmrAutoSend.Enabled = True                                              ' 打开自动发送定时器
  526.         Else
  527.             ChkAutoSend.Value = 0                                                   ' 串口没有打开去掉自动发送
  528.             MsgBox "串口没有打开,请打开串口", 48, "串口调试助手"                   ' 如果串口没有被打开,提示打开串口
  529.         End If
  530.     ElseIf ChkAutoSend.Value = 0 Then                                               ' 如果无效,不发送
  531.             TmrAutoSend.Enabled = False                                             ' 关闭自动发送定时器
  532.     End If
  533. Err:
  534.         
  535. End Sub

  536. '=====================================================================================
  537. '              超链接我的博客

  538. '=====================================================================================

  539. Private Sub LblWeb_Click()                                                          ' 单击打开网站
  540.    
  541.     ShellExecute Me.hwnd, "open", "http://blog.163.com/zhaojun_xf/", "", "", 5      ' 要打开的网站
  542.    
  543. End Sub

  544. ' 鼠标移入 WEB 区
  545. Private Sub LblWeb_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

  546.     LblWeb.ForeColor = &H8A7839                                                     ' 鼠标移入WEB时的颜色
  547.     LblWeb.MousePointer = 99                                                        ' 鼠标移入WEB时的鼠标的现状 ,小手型
  548.     'LblWeb.MouseIcon = LoadPicture("f:\我的VB\串口调试软件\图片\mouse.cur")         ' 鼠标形状图片

  549. End Sub

  550. ' 鼠标移出 WEB 区
  551. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

  552.     LblWeb.ForeColor = vbBlue                                                      ' 鼠标移出WEB时的颜色
  553.     Me.MousePointer = vbDefault                                                    ' 鼠标移出WEB时的鼠标的现状 即Me.MousePointer = 0

  554. End Sub

  555. '=====================================================================================
  556. '              自动发送定时器

  557. '=====================================================================================

  558. Private Sub TmrAutoSend_Timer()                                                     ' 定时器

  559. On Error GoTo Err
  560.     If TxtSend.Text = "" Then                                                       ' 判断发送数据是否为空
  561.         ChkAutoSend.Value = 0                                                       ' 关闭自动发送
  562.         MsgBox "发送数据不能为空", 16, "串口调试助手"                               ' 发送数据为空则提示
  563.     Else
  564.         
  565.         If ChkHexSend.Value = 1 Then                                                ' 发送方式判断
  566.             MSComm.InputMode = comInputModeBinary                                   ' 二进制发送
  567.             Call hexSend                                                            ' 发送十六进制数据
  568.         Else                                                                        ' 按十六进制接收文本方式发送的数据时,文本也要按二进制发送发送
  569.             If ChkHexReceive.Value = 1 Then
  570.                 MSComm.InputMode = comInputModeBinary                               ' 二进制发送
  571.             Else
  572.                 MSComm.InputMode = comInputModeText                                 ' 文本发送
  573.             End If
  574.         
  575.             MSComm.Output = Trim(TxtSend.Text)                                      ' 发送数据
  576.         
  577.             ModeSend = False                                                        ' 设置文本发送方式
  578.         End If
  579.     End If
  580. Err:
  581.    
  582. End Sub

  583. '=====================================================================================
  584. '              窗体载入

  585. '=====================================================================================

  586. Private Sub Form_Load()                                                         ' 载入窗体
  587.    
  588.     On Error GoTo Err
  589.     LblWeb.FontUnderline = True                                                 ' WEB上加下划线
  590.     LblWeb.ForeColor = vbBlue                                                   ' 蓝色显示WEB
  591.    
  592.     TxtSend.Text = "http://www.newxing.com/"                            ' 载入发送信息
  593.     If MSComm.PortOpen = True Then MSComm.PortOpen = False                      ' 先判断串口是否打开,如果打开则先关闭
  594.     ' 初始化串口
  595.     Call Comm_initial(Val(Mid(CboCom.Text, 4, 1)), CboBaudrate.Text, Left(CboParitybit.Text, 1), CboDatabit.Text, CboStopbit.Text)
  596. Err:
  597.    
  598. End Sub

  599. '=====================================================================================
  600. '                   保存接收文本

  601. '=====================================================================================

  602. Private Sub CmdSaveDisp_Click()                                                 ' 保存显示数据
  603.    
  604.     On Error GoTo Err                                                           ' 错误处理
  605.    
  606.     SaveTextPath = TxtSavePath                                                  ' 路径暂存
  607.     Open TxtSavePath & "\1.txt" For Output As #1                                ' 打开文件
  608.     ' 不存在的话 会创建文件,如已存在 会覆盖
  609.     ' output 改为append 为追加
  610.     ' 改为input 则只读
  611.     Print #1, Year(Date) & "年" & Month(Date) & "月" & Day(Date) & _
  612.     "日" & Hour(Time) & "时" & Minute(Time) & "分" & Second(Time) & _
  613.     "秒" & vbCrLf & TxtReceive.Text + vbCrLf                                    ' 把接收区的文本保存 文本前加上保存时间 (0000年00月00日00时00分00秒)
  614.     ' vbcrlf 为回车换行
  615.     Close #1                                                                    ' 关闭文件
  616.    
  617.     TxtSavePath = "OK,1.txt Save"                                               ' 提示保存成功
  618.     CmdSaveDisp.Enabled = False
  619.    
  620.     Savetime = Timer                                                            ' 记下开始的时间
  621.     While Timer < Savetime + 5                                                  ' 循环等待 5 - 要延时的时间
  622.         DoEvents                                                                ' 转让控制权,以便让操作系统处理其它的事件。
  623.     Wend
  624.    
  625.     TxtSavePath = SaveTextPath                                                  ' 显示保存路径
  626.     CmdSaveDisp.Enabled = True
  627. Err:
  628.    
  629. End Sub

  630. '=====================================================================================
  631. '               停止显示

  632. '=====================================================================================

  633. Private Sub CmdStopdisp_Click()

  634. On Error GoTo Err
  635.     If DisplaySwitch = False Then
  636.         DisplaySwitch = True                                                        ' 关闭显示
  637.         CmdStopdisp.Caption = "继续显示"
  638.     Else
  639.         DisplaySwitch = False                                                       ' 开启显示
  640.         CmdStopdisp.Caption = "停止显示"
  641.     End If
  642. Err:
  643.    
  644. End Sub

  645. '=====================================================================================
  646. '               计数器清零

  647. '=====================================================================================

  648. Private Sub CmdClearCounter_Click()                                                 ' 清除计数器
  649.      
  650. On Error GoTo Err
  651.     SendCount = 0                                                                   ' 发送计数器清零
  652.     ReceiveCount = 0                                                                ' 接收计数器清零
  653.     TxtRXCount.Text = "RX:" & 0                                                     ' 接收计数
  654.     TxtTXCount.Text = "TX:" & 0                                                     ' 发送计数
  655. Err:
  656.         
  657. End Sub

  658. '=====================================================================================
  659. '                更改保存显示数据的目录

  660. '=====================================================================================

  661. Private Sub CmdAmend_Click() '更改

  662.     Dim spShell As Object                                                           ' 定义存放引用对象的变量
  663.     Dim spFolder As Object                                                          ' 定义存放引用对象的变量
  664.     Dim spFolderItem As Object                                                      ' 定义存放引用对象的变量
  665.     Dim spPath As String                                                            ' 定义存放的变量
  666.    
  667.     On Error GoTo Err                                                               ' 错误处理,防止取消打开文件夹时报错
  668.     Const WINDOW_HANDLE = 0
  669.     Const NO_OPTIONS = 0
  670.    
  671.     Set spShell = CreateObject("Shell.Application")
  672.     Set spFolder = spShell.BrowseForFolder(WINDOW_HANDLE, "选择目录:", NO_OPTIONS, "C:\Scripts")
  673.     Set spFolderItem = spFolder.Self
  674.     spPath = spFolderItem.Path
  675.     spPath = Replace(spPath, "\", "\")                                              ' Replace函数的返回值是一个字符串
  676.     TxtSavePath.Text = spPath                                                       ' 把文件夹路径显示在标签上
  677.     SaveTextPath = TxtSavePath.Text                                                 ' 路径暂存
  678. Err:

  679. End Sub

  680. '=====================================================================================
  681. '                  串口设置

  682. '=====================================================================================

  683. Private Sub CboBaudrate_Click()                                                     ' 修改波特率
  684.    
  685.     Call Comm_reSet(Val(Mid(CboCom.Text, 4, 2)), CboBaudrate.Text, Left(CboParitybit.Text, 1), CboDatabit.Text, CboStopbit.Text)             '串口设置

  686. End Sub

  687. Private Sub CboCom_Click()                                                          ' 修改串口
  688.    
  689.     Call Comm_reSet(Val(Mid(CboCom.Text, 4, 2)), CboBaudrate.Text, Left(CboParitybit.Text, 1), CboDatabit.Text, CboStopbit.Text)             '串口设置

  690. End Sub

  691. Private Sub CboDatabit_Click()                                                      ' 修改数据位
  692.    
  693.     Call Comm_reSet(Val(Mid(CboCom.Text, 4, 2)), CboBaudrate.Text, Left(CboParitybit.Text, 1), CboDatabit.Text, CboStopbit.Text)             '串口设置

  694. End Sub
  695.         
  696. Private Sub CboParitybit_Click()                                                    ' 修改校验位
  697.    
  698.     Call Comm_reSet(Val(Mid(CboCom.Text, 4, 2)), CboBaudrate.Text, Left(CboParitybit.Text, 1), CboDatabit.Text, CboStopbit.Text)             '串口设置

  699. End Sub

  700. Private Sub CboStopbit_Click()                                                      ' 修改停止位

  701.     Call Comm_reSet(Val(Mid(CboCom.Text, 4, 2)), CboBaudrate.Text, Left(CboParitybit.Text, 1), CboDatabit.Text, CboStopbit.Text)             '串口设置

  702. End Sub

  703. '=====================================================================================
  704. '             清空数据

  705. '=====================================================================================

  706. Private Sub CmdClearSend_Click()                                                    ' 清除发送区

  707.     TxtSend.Text = ""
  708.    
  709. End Sub

  710. Private Sub CmdClearReceive_Click()                                                 ' 清空接收区

  711.     TxtReceive.Text = ""
  712.    
  713. End Sub

  714. '=====================================================================================
  715. '             选择要发送的文件并放入内存中

  716. '=====================================================================================

  717. Private Sub CmdSelectFile_Click()                                                   ' 选择要发送的文件

  718.     On Error GoTo Err                                                               ' 错误处理

  719.     CommonDialog1.Flags = cdlCFBoth
  720.     CommonDialog1.ShowOpen
  721.     TxtSendPath.Text = CommonDialog1.FileName                                       ' 把打开的文件名给于TxtSendPath
  722.    
  723.     Open TxtSendPath.Text For Input As 1                                            ' 打开选择的文件
  724.     FileData = StrConv(InputB$(LOF(1), 1), vbUnicode)                               ' 显示打开的文件
  725.     Close 1                                                                         ' 关闭文件
  726.    
  727. Err:
  728.    
  729. End Sub

  730. '=====================================================================================
  731. '                   文件数据发送

  732. '=====================================================================================

  733. Private Sub CmdSendFile_Click() '发送文件
  734.    
  735. On Error GoTo Err
  736.     If MSComm.PortOpen = True Then                                                  ' 如果串口打开了,则可以发送数据
  737.         If FileData = "" Then                                                       ' 判断发送数据是否为空
  738.             MsgBox "发送的文件为空", 16, "串口调试助手"                             ' 发送数据为空则提示
  739.         Else
  740.             If ChkHexReceive.Value = 1 Then                                         ' 如果按十六进制接收时,按二进制发送,否则按文本发送
  741.                 MSComm.InputMode = comInputModeBinary                               ' 二进制发送
  742.             Else
  743.                 MSComm.InputMode = comInputModeText                                 ' 文本发送
  744.             End If
  745.             
  746.             MSComm.Output = Trim(FileData)                                          ' 发送数据
  747.             
  748.             ModeSend = True                                                         ' 设置文本发送方式
  749.         End If
  750.     Else
  751.         MsgBox "串口没有打开,请打开串口", 48, "串口调试助手"                       ' 如果串口没有被打开,提示打开串口
  752.     End If
  753. Err:
  754.   
  755. End Sub

  756. '====================================================================================
  757. '                     发送文本数据

  758. '====================================================================================

  759. Private Sub CmdSend_Click()                                                     ' 发送按钮
  760.    
  761.     On Error GoTo Err
  762.     If MSComm.PortOpen = True Then                                              ' 如果串口打开了,则可以发送数据
  763.         If TxtSend.Text = "" Then                                               ' 判断发送数据是否为空
  764.             MsgBox "发送数据不能为空", 16, "串口调试助手"                       ' 发送数据为空则提示
  765.         Else
  766.             If ChkHexSend.Value = 1 Then                                        ' 发送方式判断
  767.                 MSComm.InputMode = comInputModeBinary                           ' 二进制发送
  768.                 Call hexSend                                                    ' 发送十六进制数据
  769.             Else                                                                ' 按十六进制接收文本方式发送的数据时,文本也要按二进制发送发送
  770.                 If ChkHexReceive.Value = 1 Then
  771.                     MSComm.InputMode = comInputModeBinary                       ' 二进制发送
  772.                 Else
  773.                     MSComm.InputMode = comInputModeText                         ' 文本发送
  774.                 End If
  775.                
  776.                 MSComm.Output = Trim(TxtSend.Text)                              ' 发送数据
  777.                 ModeSend = False                                                ' 设置文本发送方式
  778.             End If
  779.         End If
  780.     Else
  781.         MsgBox "串口没有打开,请打开串口", 48, "串口调试助手"                   ' 如果串口没有被打开,提示打开串口
  782.     End If
  783. Err:
  784.    
  785. End Sub

  786. '====================================================================================
  787. '                 通信触发事件

  788. '====================================================================================

  789. Private Sub MSComm_OnComm()                                                         ' 设置oncomm事件,读取片机内存的值
  790.    
  791. On Error GoTo Err
  792.     Select Case MSComm.CommEvent                                                    ' 每接收1个数就触发一次
  793.         Case comEvReceive
  794.             If ChkHexReceive.Value = 1 Then
  795.                 Call hexReceive                                                     ' 十六进制接收
  796.             Else
  797.                 Call textReceive                                                    ' 文本接收
  798.         End If
  799.             
  800.         Case comEvSend                                                              ' 每发送1个数就触发一次
  801.             If ChkHexSend.Value = 1 Then
  802.             Else
  803.                 Call textSend                                                       ' 文本发送
  804.             End If
  805.             
  806.         Case Else
  807.     End Select
  808. Err:
  809.   
  810. End Sub

  811. '====================================================================================
  812. '                 文本接收

  813. '====================================================================================
  814. Private Sub textReceive()
  815.    
  816.     On Error GoTo Err
  817.     InputSignal = MSComm.Input
  818.     ReceiveCount = ReceiveCount + LenB(StrConv(InputSignal, vbFromUnicode))     ' 计算总接收数据
  819.     If DisplaySwitch = False Then                                               ' 显示接收文本
  820.         TxtReceive.Text = TxtReceive.Text & InputSignal                         ' 单片机内存的值用TextReceive显示出
  821.         TxtReceive.SelStart = Len(TxtReceive.Text)                              ' 显示光标位置
  822.         
  823.     End If
  824.     TxtRXCount.Text = "RX:" & ReceiveCount                                      ' 接收字节数显示
  825.    
  826.     If ChkAutoClear.Value = 1 Then                                              ' 自动清空判断
  827.         If ReceiveCount >= 65535 Then
  828.             TxtReceive.Text = ""
  829.         End If
  830.     End If
  831. Err:
  832.    
  833. End Sub

  834. '====================================================================================
  835. '                 文本发送

  836. '====================================================================================

  837. Private Sub textSend()
  838.    
  839.     On Error GoTo Err
  840.     If ModeSend = True Then
  841.         OutputSignal = FileData                                                 ' 发送文件
  842.     Else
  843.         OutputSignal = TxtSend.Text                                             ' 发送文本
  844.     End If
  845.    
  846.     SendCount = SendCount + LenB(StrConv(OutputSignal, vbFromUnicode))          ' 计算总发送数
  847.     TxtTXCount.Text = "TX:" & SendCount                                         ' 发送字节数显示
  848. Err:
  849.    
  850. End Sub


  851. '====================================================================================
  852. '                 十六进制发送

  853. '====================================================================================

  854. Private Sub hexSend()
  855.    
  856.     On Error Resume Next
  857.     Dim outputLen As Integer                                                    ' 发送数据长度
  858.     Dim outData As String                                                       ' 发送数据暂存
  859.     Dim SendArr() As Byte                                                       ' 发送数组
  860.     Dim TemporarySave As String                                                 ' 数据暂存
  861.     Dim dataCount As Integer                                                    ' 数据个数计数
  862.     Dim i As Integer                                                            ' 局部变量
  863.    
  864.     outData = UCase(Replace(TxtSend.Text, Space(1), Space(0)))                  ' 先去掉空格,再转换为大写字母
  865.     outData = UCase(outData)                                                    ' 转换成大写
  866.     outputLen = Len(outData)                                                    ' 数据长度
  867.    
  868.     For i = 0 To outputLen
  869.         TemporarySave = Mid(outData, i + 1, 1)                                  ' 取一位数据
  870.         If (Asc(TemporarySave) >= 48 And Asc(TemporarySave) <= 57) Or (Asc(TemporarySave) >= 65 And Asc(TemporarySave) <= 70) Then
  871.             dataCount = dataCount + 1
  872.         Else
  873.             Exit For
  874.             Exit Sub
  875.         End If
  876.     Next
  877.    
  878.     If dataCount Mod 2 <> 0 Then                                                ' 判断十六进制数据是否为双数
  879.         dataCount = dataCount - 1                                               ' 不是双数,则减1
  880.     End If
  881.    
  882.     outData = Left(outData, dataCount)                                          ' 取出有效的十六进制数据
  883.    
  884.     ReDim SendArr(dataCount / 2 - 1)                                            ' 重新定义数组长度
  885.     For i = 0 To dataCount / 2 - 1
  886.         SendArr(i) = Val("&H" + Mid(outData, i * 2 + 1, 2))                     ' 取出数据转换成十六进制并放入数组中
  887.     Next
  888.    
  889.     SendCount = SendCount + (dataCount / 2)                                     ' 计算总发送数
  890.     TxtTXCount.Text = "TX:" & SendCount
  891.    
  892.     MSComm.Output = SendArr                                                     ' 发送数据
  893.    
  894. End Sub

  895. '====================================================================================
  896. '                 十六进制数据接受

  897. '====================================================================================

  898. Private Sub hexReceive()
  899.    
  900.     On Error GoTo Err
  901.     Dim ReceiveArr() As Byte                                                    ' 接收数据数组
  902.     Dim receiveData As String                                                   ' 数据暂存
  903.     Dim Counter As Integer                                                      ' 接收数据个数计数器
  904.     Dim i As Integer                                                            ' 循环变量
  905.    
  906.     If (MSComm.InBufferCount > 0) Then
  907.         Counter = MSComm.InBufferCount                                          ' 读取接收数据个数
  908.         receiveData = ""                                                        ' 清缓冲
  909.         
  910.         ReceiveArr = MSComm.Input                                               ' 数据放入数组
  911.         
  912.         For i = 0 To (Counter - 1) Step 1                                       ' 数据格式处理
  913.             
  914.             If (ReceiveArr(i) < 16) Then
  915.                 receiveData = receiveData & "0" + Hex(ReceiveArr(i)) & Space(1) ' 小于16,前面加0
  916.             Else
  917.                 receiveData = receiveData & Hex(ReceiveArr(i)) & Space(1)       ' 加空格显示
  918.             End If
  919.             
  920.         Next i
  921.         
  922.         TxtReceive.Text = TxtReceive.Text + receiveData                         ' 显示接收的十六进制数据
  923.         TxtReceive.SelStart = Len(TxtReceive.Text)                              ' 显示光标位置
  924.     End If
  925.    
  926.     ReceiveCount = ReceiveCount + Counter                                       ' 接收计数
  927.     TxtRXCount.Text = "RX:" & ReceiveCount                                      ' 接收字节数显示
  928.    
  929.     If ChkAutoClear.Value = 1 Then                                              ' 自动清空判断
  930.         If ReceiveCount >= 65535 Then
  931.             TxtReceive.Text = ""
  932.         End If
  933.     End If
  934. Err:
  935.    
  936. End Sub

  937. '=====================================================================================
  938. '                串口开关

  939. '=====================================================================================

  940. Private Sub CmdSwitch_Click()                                                   ' 串口开关按钮
  941.    
  942.     On Error GoTo Err
  943.     If MSComm.PortOpen = True Then
  944.         ComSwitch = True
  945.     Else
  946.         ComSwitch = False
  947.     End If
  948.    
  949.     If ComSwitch = False Then
  950.         OpenCom                                                                 ' 打开串口
  951.         ComSwitch = True
  952.     Else
  953.         CloseCom                                                                ' 关闭串口
  954.         ComSwitch = False
  955.     End If
  956. Err:
  957.    
  958. End Sub



  959. '=====================================================================================
  960. '              初始化串口

  961. '=====================================================================================

  962. Private Sub Comm_initial(Port As Byte, BaudRate As String, ParityBit As String, DataBit As Integer, StopBit As Integer)
  963.    
  964.     On Error GoTo ErrorTrap                                                     ' 错误则跳往错误处理
  965.    
  966.     If MSComm.PortOpen = True Then MSComm.PortOpen = False                      ' 先判断串口是否打开,如果打开则先关闭
  967.    
  968.     MSComm.CommPort = Port                                                      ' 设定端口
  969.     MSComm.Settings = BaudRate & "," & ParityBit & "," & DataBit & "," & StopBit ' 设置波特率,无校验,8位数据位,1位停止位
  970.     MSComm.InBufferSize = 1024                                                  ' 设置接收缓冲区为1024字节
  971.     MSComm.OutBufferSize = 4096                                                 ' 设置发送缓冲区为4096字节
  972.     MSComm.InBufferCount = 0                                                    ' 清空输入缓冲区
  973.     MSComm.OutBufferCount = 0                                                   ' 清空输出缓冲区
  974.     MSComm.SThreshold = 1                                                       ' 发送缓冲区空触发发送事件
  975.     MSComm.RThreshold = 1                                                       ' 每X个字符到接收缓冲区引起触发接收事件
  976.     MSComm.OutBufferCount = 0                                                   ' 清空发送缓冲区
  977.     MSComm.InBufferCount = 0                                                    ' 滑空接收缓冲
  978.     MSComm.PortOpen = True                                                      ' 打开串口
  979.    
  980.     If MSComm.PortOpen = True Then
  981.         TxtStatus.Text = "STATUS:" & CboCom.Text & " OPEND," & CboBaudrate.Text & "," & Left(CboParitybit.Text, 1) & "," & CboDatabit.Text & "," & CboStopbit.Text
  982.     Else
  983.         TxtStatus.Text = "STATUS:COM Port Cloced"                              ' 串口没打开时,提示串口关闭状态
  984.     End If
  985.     Exit Sub
  986.    
  987. ErrorTrap:                                                                      ' 错误处理
  988.     Select Case Err.Number
  989.     Case comPortAlreadyOpen                                                     ' 如果串口已经打开,则提示
  990.         MsgBox "没有发现此串口或被占用", 49, "串口调试助手"
  991.         CloseCom
  992.     Case Else
  993.         MsgBox "没有发现此串口或被占用", 49, "串口调试助手"
  994.         CloseCom
  995.     End Select
  996.     Err.Clear
  997.    
  998. End Sub

  999. '=====================================================================================
  1000. '               串口设置

  1001. '=====================================================================================

  1002. Private Sub Comm_reSet(Port As Byte, BaudRate As String, ParityBit As String, DataBit As Integer, StopBit As Integer)
  1003.    
  1004.     On Error GoTo ErrorHint                                                     ' 错误则跳往错误处理
  1005.    
  1006.     If MSComm.PortOpen = True Then MSComm.PortOpen = False                      ' 先判断串口是否打开,如果打开则先关闭
  1007.    
  1008.     MSComm.CommPort = Port                                                      ' 设定端口
  1009.     MSComm.Settings = BaudRate & "," & ParityBit & "," & DataBit & "," & StopBit ' 设置波特率,无校验,8位数据位,1位停止位
  1010.     MSComm.PortOpen = True                                                      ' 打开串口
  1011.    
  1012.     If MSComm.PortOpen = True Then
  1013.         CmdSwitch.Caption = "关闭串口"
  1014.         'ImgSwitch.Picture = LoadPicture("f:\我的VB\串口调试软件\图片\kai.jpg")      ' 显示串口已经打开的图标
  1015.         ImgSwitchOn.Visible = True
  1016.         ImgSwitchOff.Visible = False
  1017.         TxtStatus.Text = "STATUS:" & CboCom.Text & " OPEND," & CboBaudrate.Text & "," & Left(CboParitybit.Text, 1) & "," & CboDatabit.Text & "," & CboStopbit.Text
  1018.     Else
  1019.         CmdSwitch.Caption = "打开串口"
  1020.         ImgSwitchOn.Visible = False
  1021.         ImgSwitchOff.Visible = True
  1022.         'ImgSwitch.Picture = LoadPicture("f:\我的VB\串口调试软件\图片\guan.jpg")     ' 显示串口已经关闭的图标
  1023.         TxtStatus.Text = "STATUS:COM Port Cloced"
  1024.     End If
  1025.     Exit Sub
  1026.    
  1027. ErrorHint:                                                                      ' 错误处理
  1028.    
  1029.     Select Case Err.Number
  1030.     Case comPortAlreadyOpen                                                     ' 如果串口已经打开,则提示
  1031.         MsgBox "没有成功,请重试", vbExclamation, "串口调试助手"
  1032.         CloseCom                                                                ' 调用关闭串口函数
  1033.     Case Else
  1034.         MsgBox "没有成功,请重试", vbExclamation, "串口调试助手"
  1035.         CloseCom                                                                ' 调用关闭串口函数
  1036.     End Select
  1037.     Err.Clear                                                                   ' 清除 Err 对象的属性
  1038.    
  1039. End Sub

  1040. '=====================================================================================
  1041. '             串口开关子程序

  1042. '=====================================================================================

  1043. Private Sub OpenCom()                                                           '打开串口
  1044.    
  1045.     On Error GoTo Err
  1046.     If MSComm.PortOpen = True Then MSComm.PortOpen = False                      ' 先判断串口是否打开,如果打开则先关闭
  1047.    
  1048.     Call Comm_reSet(Val(Mid(CboCom.Text, 4, 1)), CboBaudrate.Text, Left(CboParitybit.Text, 1), CboDatabit.Text, CboStopbit.Text) ' 串口设置
  1049.    
  1050.     If MSComm.PortOpen = True Then
  1051.         TxtStatus.Text = "STATUS:" & CboCom.Text & " OPEND," & CboBaudrate.Text & "," & Left(CboParitybit.Text, 1) & "," & CboDatabit.Text & "," & CboStopbit.Text
  1052.         CmdSwitch.Caption = "关闭串口"
  1053.         ImgSwitchOn.Visible = True                                              ' 显示串口已经打开的图标
  1054.         ImgSwitchOff.Visible = False
  1055.     Else
  1056.         TxtStatus.Text = "STATUS:COM Port Cloced"                              ' 串口状态显示
  1057.         CmdSwitch.Caption = "打开串口"
  1058.         'ImgSwitch.Picture = LoadPicture("f:\我的VB\串口调试软件\图片\guan.jpg")     ' 显示串口已经关闭的图标
  1059.         ImgSwitchOff.Visible = True
  1060.         ImgSwitchOn.Visible = False
  1061.     End If
  1062. Err:
  1063.    
  1064. End Sub

  1065. Private Sub CloseCom()                                                          '关闭串口
  1066.    
  1067.     On Error GoTo Err
  1068.     If MSComm.PortOpen = True Then MSComm.PortOpen = False                      ' 先判断串口是否打开,如果打开则先关闭
  1069.    
  1070.     TxtStatus.Text = "STATUS:COM Port Cloced"                                  ' 串口状态显示
  1071.     CmdSwitch.Caption = "打开串口"
  1072.     'ImgSwitch.Picture = LoadPicture("f:\我的VB\串口调试软件\图片\guan.jpg")         ' 显示串口已经关闭的图标
  1073.     ImgSwitchOn.Visible = False
  1074.     ImgSwitchOff.Visible = True
  1075. Err:
  1076.    
  1077. End Sub

  1078. '=====================================================================================
  1079. '               显示时间

  1080. '=====================================================================================

  1081. Private Sub TmrNowTime_Timer()
  1082.    
  1083.     LblNewDate.Caption = Date                                                   ' 显示时间
  1084.     LblNowTime.Caption = Time                                                   ' 显示系统时间
  1085.    
  1086. End Sub

  1087. '=====================================================================================
  1088. '                程序退出

  1089. '=====================================================================================

  1090. Private Sub CmdQuit_Click()                                                     ' 退出程序
  1091.    
  1092.     If MSComm.PortOpen = True Then MSComm.PortOpen = False                      ' 先判断串口是否打开,如果打开则先关闭
  1093.    
  1094.     Unload Me                                                                   ' 卸载窗体,并退出程序
  1095.     End
  1096.    
  1097. End Sub

  1098. '=====================================================================================
  1099. '               帮助信息

  1100. '=====================================================================================

  1101. Private Sub CmdHelp_Click()                                                     ' 载入帮助信息窗口
  1102.    
  1103.     FrmHelp.Show
  1104.    
  1105. End Sub


  1106. '--------------- 程序结束 ------------------

复制代码

所有资料51hei提供下载:
VB 串口调试软件源代码.rar (50.04 KB, 下载次数: 172)
回复

使用道具 举报

ID:328112 发表于 2019-5-22 21:44 | 显示全部楼层
CommonDialog1.Flags = cdlCFBoth  编译不能通过.显示变量未定义////
回复

使用道具 举报

ID:74872 发表于 2019-6-4 16:12 | 显示全部楼层
下載學習,感謝分享
回复

使用道具 举报

ID:298008 发表于 2020-4-26 20:41 | 显示全部楼层
谢谢楼主分享!!!
回复

使用道具 举报

ID:298008 发表于 2020-4-26 20:51 | 显示全部楼层
谢谢楼主分享!!!
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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