admin管理员组

文章数量:1536769

2024年6月13日发(作者:)

经典的串口调试助手源代码 分类 VB在单片机中的应 Dim OutputAscii As Boolean

Dim InputString As String Dim OutputString As String 变量定义 Option Explicit

强制显式声明 Dim ComSwitch As Boolean 串口开关状态判断 Dim FileData As

String 要发送的文件暂存 Dim SendCount As Long 发送数据字节计数器 Dim

ReceiveCount As Long 接收数据字节计数器 Dim InputSignal As String 接收缓冲

暂存 Dim OutputSignal As String 发送数据暂存 Dim DisplaySwitch As Boolean

显示开关 Dim ModeSend As Boolean 发送方式判断 Dim Savetime As Single 时

间数据暂存 延时用 Dim SaveTextPath As String 保存文本路径 网页超链接申明

Private Declare Function ShellExecute Lib t Alias

quotShellExecuteAquot 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 Private Sub CloseCom 关闭串口 On Error GoTo Err If

en True Then en False 先判断串口是否打开

如果打开则先关闭 quotSTATUSCOM Port Clocedquot 串口状态显

示 n quot断开串口quot n quot打开串口quot

e LoadPicturequotf:我的VB串口调试软件图片t 显示

串口已经关闭的图标 e True e False Err:

End Sub Private Sub UpdateStatus If en Then

quotConnectedquot n quot自动发送quot n

quot断开串口quot Else quot断开串口quot

n quotdisautosendquot n quot打开串口quot

End If quotCOMquot amp rt

gs If OutputAscii Then 4

quotASCIIquot Else 4 quotHEXquot End If On Error GoTo Err If

1 Then 如果有效则自动发送 If en True

Then 串口状态判断 n quotDisampautosendquot

al ValTxtAutoSendTime 设置自动发送时间

d True 打开自动发送定时器 Else n

quotautosendquot 0 串口没有打开去掉自动发送 MsgBox

quot串口没有打开请打开串口quot 48 quot串口调试助手quot 如果串口没有被打开

提示打开串口 End If ElseIf 0 Then 如果无效不发送

n quotautosendquot d False 关闭自动发

送定时器 End If Err: End Sub Private Sub CmdSendFile_Click 发送文件 On Error

GoTo Err If en True Then 如果串口打开了则可以发送数据 If

FileData quotquot Then 判断发送数据是否为空 MsgBox quot发送的文件为空

quot 16 quot串口调试助手quot 发送数据为空则提示 Else If

1 Then 如果按十六进制接收时按二进制发送否则按文本发送

ode comInputModeBinary 二进制发送 Else

ode comInputModeText 文本发送 End If

TrimFileData 发送数据 ModeSend True 设置文本发送方式 End If Else MsgBox

quot串口没有打开请打开串口quot 48 quot串口调试助手quot 如果串口没有被打开

提示打开串口 End If Err: End Sub Private Sub Comm_initialPort As Byte BaudRate As

String ParityBit As String DataBit As Integer StopBit As Integer On Error GoTo

ErrorTrap 错误则跳往错误处理 If en True Then

en False 先判断串口是否打开如果打开则先关闭

rt Port 设定端口 gs BaudRate amp quotquot

amp ParityBit amp quotquot amp DataBit amp quotquot amp StopBit 设置波特率无校

验8位数据位1位停止位 erSize 1024 设置接收缓冲区为1024字

节 ferSize 4096 设置发送缓冲区为4096字节

erCount 0 清空输入缓冲区 ferCount 0 清空

输出缓冲区 hold 1 发送缓冲区空触发发送事件

hold 1 每X个字符到接收缓冲区引起触发接收事件

ferCount 0 清空发送缓冲区 erCount 0 滑空

接收缓冲 en True 打开串口 If en True Then

quotSTATUSquot amp amp quot OPENDquot amp

amp quotquot amp 1 amp quotquot amp

amp quotquot amp Else

quotSTATUSCOM Port Clocedquot 串口没打开时提示串口关闭状态 End If Exit

Sub ErrorTrap: 错误处理 Select Case Case comPortAlreadyOpen 如果

串口已经打开则提示 MsgBox quot没有发现此串口或被占用quot 49 quot串口调试

助手quot CloseCom Case Else MsgBox quot没有发现此串口或被占用quot 49 quot串

口调试助手quot CloseCom End Select End Sub Private Sub Comm_reSetPort

As Byte BaudRate As String ParityBit As String DataBit As Integer StopBit As Integer

On Error GoTo ErrorHint 错误则跳往错误处理 If en True Then

en False 先判断串口是否打开如果打开则先关闭

rt Port 设定端口 gs BaudRate amp quotquot

amp ParityBit amp quotquot amp DataBit amp quotquot amp StopBit 设置波特率无校

验8位数据位1位停止位 en True 打开串口 If

en True Then n quot关闭串口quot

e LoadPicturequotf:我的VB串口调试软件图片t 显示串

口已经打开的图标 e False n

quotdisconnectquot e True quotSTATUSquot amp

amp quot OPENDquot amp amp quotquot amp

1 amp quotquot amp amp quotquot amp

Else n quot打开串口quot e

LoadPicturequotf:我的VB串口调试软件图片t 显示串口已经关闭的图标

e False e True

quotSTATUSCOM Port Clocedquot End If Exit Sub ErrorHint: 错误处理 Select Case

Case comPortAlreadyOpen 如果串口已经打开则提示 MsgBox quot没有

成功请重试quot vbExclamation quot串口调试助手quot CloseCom 调用关闭串口函

数 Case Else MsgBox quot没有成功请重试quot vbExclamation quot串口调试助手

quot CloseCom 调用关闭串口函数 End Select 清除 Err 对象的属性

End Sub Private Sub Command1_Click End Sub Private Sub cbobaudrate_Change Call

Comm_ 4 2 1

本文标签: 串口打开发送调试助手