Private Sub cmdClear

合集下载

用VB编写串口调试小助手

用VB编写串口调试小助手

经典的串口调试助手源代码分类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 quotshell32.dllquot 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 MSComm.PortOpen True Then MSComm.PortOpen False 先判断串口是否打开如果打开则先关闭txtstatus.Text quotSTATUSCOM Port Clocedquot 串口状态显示mnuconnect.Caption quot断开串口quot cmdswitch.Caption quot打开串口quot ImgSwitch.Picture LoadPicturequotf:我的VB串口调试软件图片guan.jpgquot 显示串口已经关闭的图标ImgSwitchoff.Visible True ImgSwitchon.Visible False Err: End Sub Private Sub UpdateStatus If MSComm.PortOpen Then StatusBar1.Panels1.Text quotConnectedquot mnuautosend.Caption quot自动发送quot mnuconnect.Caption quot断开串口quot Else StatusBar1.Panels1.Text quot断开串口quot mnuautosend.Caption quotdisautosendquot mnuconnect.Caption quot打开串口quot End If StatusBar1.Panels2.Text quotCOMquot amp mPortStatusBar1.Panels3.Text MSComm.Settings If OutputAscii Then StatusBar1.Panels4 quotASCIIquot Else StatusBar1.Panels4 quotHEXquot End If On Error GoTo Err If ChkAutoSend.Value 1 Then 如果有效则自动发送If MSComm.PortOpen True Then 串口状态判断mnuautosend.Caption quotDisampautosendquot TmrAutoSend.Interval ValTxtAutoSendTime 设置自动发送时间TmrAutoSend.Enabled True 打开自动发送定时器Else mnuautosend.Caption quotautosendquot ChkAutoSend.Value 0 串口没有打开去掉自动发送MsgBox quot串口没有打开请打开串口quot 48 quot串口调试助手quot 如果串口没有被打开提示打开串口End If ElseIf ChkAutoSend.Value 0 Then 如果无效不发送mnuautosend.Caption quotautosendquot TmrAutoSend.Enabled False 关闭自动发送定时器End If Err: End Sub Private Sub CmdSendFile_Click 发送文件On Error GoTo Err If MSComm.PortOpen True Then 如果串口打开了则可以发送数据If FileData quotquot Then 判断发送数据是否为空MsgBox quot发送的文件为空quot 16 quot串口调试助手quot 发送数据为空则提示Else If ChkHexReceive.Value 1 Then 如果按十六进制接收时按二进制发送否则按文本发送MSComm.InputMode comInputModeBinary 二进制发送ElseMSComm.InputMode comInputModeText 文本发送End If MSComm.Output TrimFileData 发送数据ModeSend True 设置文本发送方式End If Else MsgBox quot串口没有打开请打开串口quot 48 quot串口调试助手quot 如果串口没有被打开提示打开串口End If Err: End Sub Private Sub Comm_initialPort As Byte BaudRate AsString ParityBit As String DataBit As Integer StopBit As Integer On Error GoTo ErrorTrap 错误则跳往错误处理If MSComm.PortOpen True ThenMSComm.PortOpen False 先判断串口是否打开如果打开则先关闭mPort Port 设定端口MSComm.Settings BaudRate amp quotquot amp ParityBit amp quotquot amp DataBit amp quotquot amp StopBit 设置波特率无校验8位数据位1位停止位MSComm.InBufferSize 1024 设置接收缓冲区为1024字节MSComm.OutBufferSize 4096 设置发送缓冲区为4096字节MSComm.InBufferCount 0 清空输入缓冲区MSComm.OutBufferCount 0 清空输出缓冲区MSComm.SThreshold 1 发送缓冲区空触发发送事件MSComm.RThreshold 1 每X个字符到接收缓冲区引起触发接收事件MSComm.OutBufferCount 0 清空发送缓冲区MSComm.InBufferCount 0 滑空接收缓冲MSComm.PortOpen True 打开串口If MSComm.PortOpen True Then txtstatus.Text quotSTATUSquot amp cbocom.Text amp quot OPENDquot amp cbobaudrate.Text amp quotquot amp Leftcboparitybit.Text 1 amp quotquot amp cbodatabit.Text amp quotquot amp cbostopbit.Text Else txtstatus.Text quotSTATUSCOM Port Clocedquot 串口没打开时提示串口关闭状态End If Exit Sub ErrorTrap: 错误处理Select Case Err.Number Case comPortAlreadyOpen 如果串口已经打开则提示MsgBox quot没有发现此串口或被占用quot 49 quot串口调试助手quot CloseCom Case Else MsgBox quot没有发现此串口或被占用quot 49 quot串口调试助手quot CloseCom End Select Err.Clear 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 MSComm.PortOpen True Then MSComm.PortOpen False 先判断串口是否打开如果打开则先关闭mPort Port 设定端口MSComm.Settings BaudRate amp quotquot amp ParityBit amp quotquot amp DataBit amp quotquot amp StopBit 设置波特率无校验8位数据位1位停止位MSComm.PortOpen True 打开串口IfMSComm.PortOpen True Then cmdswitch.Caption quot关闭串口quot ImgSwitch.Picture LoadPicturequotf:我的VB串口调试软件图片kai.jpgquot 显示串口已经打开的图标ImgSwitchoff.Visible False mnuconnect.Caption quotdisconnectquot ImgSwitchon.Visible True txtstatus.Text quotSTATUSquot amp cbocom.Text amp quot OPENDquot amp cbobaudrate.Text amp quotquot amp Leftcboparitybit.Text 1 amp quotquot amp cbodatabit.Text amp quotquot amp cbostopbit.Text Else cmdswitch.Caption quot打开串口quot ImgSwitch.Picture LoadPicturequotf:我的VB串口调试软件图片guan.jpgquot 显示串口已经关闭的图标ImgSwitchon.Visible False ImgSwitchoff.Visible True txtstatus.Text quotSTATUSCOM Port Clocedquot End If Exit Sub ErrorHint: 错误处理Select Case Err.Number Case comPortAlreadyOpen 如果串口已经打开则提示MsgBox quot没有成功请重试quot vbExclamation quot串口调试助手quot CloseCom 调用关闭串口函数Case Else MsgBox quot没有成功请重试quot vbExclamation quot串口调试助手quot CloseCom 调用关闭串口函数End Select Err.Clear 清除Err 对象的属性End Sub Private Sub Command1_Click End Sub Private Sub cbobaudrate_Change Call Comm_reSetValMidcbocom.Text 4 2 cbobaudrate.Text Leftcboparitybit.Text 1cbodatabit.Text cbostopbit.Text 串口设置End Sub Private Sub cbocom_Change Call Comm_reSetValMidcbocom.Text 4 2 cbobaudrate.Text Leftcboparitybit.Text 1 cbodatabit.Text cbostopbit.Text 串口设置End Sub Private Sub cbodatabit_Change Call Comm_reSetValMidcbocom.Text 4 2 cbobaudrate.Text Leftcboparitybit.Text 1 cbodatabit.Text cbostopbit.Text 串口设置End Sub Private Sub cboparitybit_Change Call Comm_reSetValMidcbocom.Text 4 2 cbobaudrate.Text Leftcboparitybit.Text 1 cbodatabit.Text cbostopbit.Text 串口设置End Sub Private Sub cbostopbit_Change Call Comm_reSetValMidcbocom.Text 4 2 cbobaudrate.Text Leftcboparitybit.Text 1 cbodatabit.Text cbostopbit.Text 串口设置End Sub Private Sub chkautosend_Click On Error GoTo Err If ChkAutoSend.Value 1 Then 如果有效则自动发送If MSComm.PortOpen True Then 串口状态判断mnuautosend.Caption quot取消自动发送quot TmrAutoSend.Interval ValTxtAutoSendTime 设置自动发送时间TmrAutoSend.Enabled True 打开自动发送定时器Else ChkAutoSend.Value 0串口没有打开去掉自动发送MsgBox quot串口没有打开请打开串口quot 48 quot串口调试助手quot 如果串口没有被打开提示打开串口End If ElseIf ChkAutoSend.Value 0 Then 如果无效不发送mnuautosend.Caption quot自动发送数据quot TmrAutoSend.Enabled False 关闭自动发送定时器End If Err: End Sub Private Sub cmdamend_Click Dim spShell As Object 定义存放引用对象的变量Dim spFolder As Object 定义存放引用对象的变量Dim spFolderItem As Object 定义存放引用对象的变量Dim spPath As String 定义存放的变量On Error GoTo Err 错误处理防止取消打开文件夹时报错Const WINDOW_HANDLE 0 ConstNO_OPTIONS 0 Set spShell CreateObjectquotShell.Applicationquot Set spFolder spShell.BrowseForFolderWINDOW_HANDLE quot选择目录:quot NO_OPTIONS quotC:Scriptsquot Set spFolderItem spFolder.Self spPath spFolderItem.Path spPath ReplacespPath quotquot quotquot Replace函数的返回值是一个字符串txtsavepath.Text spPath 把文件夹路径显示在标签上SaveTextPath txtsavepath.Text 路径暂存Err: End Sub Private Sub CmdClearCounter_Click On Error GoTo Err SendCount 0 发送计数器清零ReceiveCount 0 接收计数器清零txtRXcount.Text quotRX:quot amp 0 接收计数txtTXcount.Text quotTX:quot amp 0 发送计数Err: End Sub Private Sub cmdclearrecieve_Click TxtReceive.Text quotquot End Sub Private Sub cmdclearsend_Click txtsend.Text quotquot End Sub Private Sub CmdHelp_Click FrmHelp.Show End Sub Private Sub CmdQuit_Click If MSComm.PortOpen True Then MSComm.PortOpen False 先判断串口是否打开如果打开则先关闭Unload Me 卸载窗体并退出程序End End Sub Private Sub cmdsavedisp_Click On Error GoTo Err 错误处理SaveTextPath txtsavepath 路径暂存Open txtsavepath amp quot1.txtquot For Output As 1 打开文件不存在的话会创建文件如已存在会覆盖output 改为append 为追加改为input 则只读Print 1 YearDate amp quot年quot amp MonthDate amp quot月quot amp DayDate amp _ quot 日quot amp HourTime amp quot时quot amp MinuteTime amp quot分quot amp SecondTime amp _ quot秒quot amp vbCrLf amp TxtReceive.Text vbCrLf 把接收区的文本保存文本前加上保存时间0000年00月00日00时00分00秒vbcrlf 为回车换行Close 1 关闭文件txtsavepath quotOK1.txt Savequot 提示保存成功cmdsavedisp.Enabled False Savetime Timer 记下开始的时间While Timer lt Savetime 5 循环等待5 - 要延时的时间DoEvents 转让控制权以便让操作系统处理其它的事件。

CMD 外部指令及内部指令

CMD 外部指令及内部指令

CMD外部命令(调用其它程序来实现对对象的操作)1. calc-----------启动计算器2. certmgr.msc----证书管理实用程序3. charmap--------启动字符映射表4. chkdsk.exe-----Chkdsk磁盘检查5. ciadv.msc------索引服务程序6. cleanmgr-------垃圾整理7. cliconfg-------SQL SERVER 客户端网络实用程序8. Clipbrd--------剪贴板查看器9. cmd.exe--------CMD命令提示符10. compmgmt.msc---计算机管理11. conf-----------启动netmeeting12. dcomcnfg-------打开系统组件服务13. ddeshare-------打开DDE共享设置14. devmgmt.msc--- 设备管理器15. dfrg.msc-------磁盘碎片整理程序16. diskmgmt.msc---磁盘管理实用程序17. drwtsn32------ 系统医生18. dvdplay--------DVD播放器19. dxdiag---------检查DirectX信息20. eudcedit-------造字程序21. eventvwr-------事件查看器22. explorer-------打开资源管理器23. fsmgmt.msc-----共享文件夹管理器24. gpedit.msc-----组策略25. iexpress-------木马捆绑工具,系统自带26. logoff---------注销命令27. lusrmgr.msc----本机用户和组28. magnify--------放大镜实用程序29. mem.exe--------显示内存使用情况30. mmc------------打开控制台31. mobsync--------同步命令32. mplayer2-------简易widnows media player33. Msconfig.exe---系统配置实用程序34. mspaint--------画图板35. mstsc----------远程桌面连接36. narrator-------屏幕“讲述人”37. net start messenger----开始信使服务38. net stop messenger-----停止信使服务39. netstat -an----(TC)命令检查接口40. notepad--------打开记事本41. Nslookup-------IP地址侦测器42. ntbackup-------系统备份和还原43. ntmsmgr.msc----移动存储管理器44. ntmsoprq.msc---移动存储管理员操作请求45. odbcad32-------ODBC数据源管理器46. oobe/msoobe /a----检查XP是否激活47. osk------------打开屏幕键盘48. packager-------对象包装程序49. perfmon.msc----计算机性能监测程序50. progman--------程序管理器51. regedit.exe----注册表52. regedt32-------注册表编辑器53. regsvr32 /u *.dll----停止dll文件运行54. regsvr32 /u zipfldr.dll------取消ZIP支持55. rononce -p ----15秒关机56. rsop.msc-------组策略结果集57. secpol.msc-----本地安全策略58. services.msc---本地服务设置59. sfc /scannow---windows文件保护60. sfc.exe--------系统文件检查器61. shrpubw--------创建共享文件夹62. sigverif-------文件签名验证程序63. sndrec32-------录音机64. Sndvol32-------音量控制程序65. syncapp--------创建一个公文包66. sysedit--------系统配置编辑器67. syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码(慎用)68. taskmgr--------任务管理器69. tourstart------xp简介(安装完成后出现的漫游xp程序)70. tsshutdn-------60秒倒计时关机命令71. utilman--------辅助工具管理器72. wiaacmgr-------扫描仪和照相机向导73. winchat--------XP自带局域网聊天74. winmsd---------系统信息75. winver---------检查Windows版本76. wmimgmt.msc----打开windows管理体系结构(WMI)77. write----------写字板78. wscript--------windows脚本宿主设置79. wupdmgr--------windows更新程序[编辑本段]CMD内部命令(基于CMD平台就能实现的操作)ASSOC 显示或修改文件扩展名关联。

必备的Windows CMD命令大全及其用途解析

必备的Windows CMD命令大全及其用途解析

必备的Windows CMD命令大全及其用途解析在Windows操作系统中,命令提示符(CMD)是一个强大的工具,它可以让用户通过输入命令来执行各种操作。

无论是初学者还是高级用户,掌握一些常用的CMD命令都是非常有益的。

本文将为您介绍一些必备的Windows CMD命令,并解析它们的用途。

1. cd:此命令用于更改当前目录。

通过输入“cd”命令,然后加上目标目录的路径,您可以快速切换到指定的目录。

例如,输入“cd C:\Users”将切换到“C:\Users”目录。

2. dir:dir命令用于列出当前目录中的文件和子目录。

它还可以显示文件的详细信息,如文件大小、创建日期和时间等。

只需输入“dir”命令,即可查看当前目录的内容。

3. mkdir:mkdir命令用于创建新目录。

您只需输入“mkdir”命令,然后加上新目录的名称,即可在当前目录下创建一个新目录。

4. rmdir:rmdir命令用于删除空目录。

如果您想删除一个空目录,只需输入“rmdir”命令,然后加上要删除的目录的名称。

5. del:del命令用于删除文件。

通过输入“del”命令,然后加上要删除的文件的名称,您可以快速删除指定的文件。

6. copy:copy命令用于复制文件。

您可以使用“copy”命令将一个文件复制到另一个位置。

例如,输入“copy C:\file.txt D:\backup”将文件“file.txt”从“C:\”复制到“D:\backup”。

7. move:move命令用于移动文件或重命名文件。

通过输入“move”命令,然后加上要移动或重命名的文件的路径和目标位置,您可以将文件移动到指定的位置或重命名文件。

8. ren:ren命令用于重命名文件。

您只需输入“ren”命令,然后加上要重命名的文件的当前名称和新名称,即可将文件重命名。

9. ipconfig:ipconfig命令用于显示当前网络配置信息。

通过输入“ipconfig”命令,您可以查看计算机的IP地址、子网掩码、默认网关等网络相关信息。

cmd命令大全

cmd命令大全

cmd命令大全CMD命令大全。

CMD命令是Windows操作系统中非常重要的一部分,它可以帮助用户完成各种系统管理任务和操作。

本文将为大家详细介绍一些常用的CMD命令,希望能够帮助大家更好地理解和应用这些命令。

1. dir。

dir命令用于列出指定目录中的文件和子目录。

在CMD中输入dir后按回车,系统将列出当前目录下的所有文件和子目录的详细信息,包括文件名、文件大小、创建日期等。

2. cd。

cd命令用于改变当前目录。

在CMD中输入cd加上目标目录的路径,按回车后系统将切换到指定的目录中。

3. mkdir。

mkdir命令用于创建新目录。

在CMD中输入mkdir加上目录名,按回车后系统将在当前目录下创建一个新的子目录。

4. del。

del命令用于删除指定的文件。

在CMD中输入del加上文件名,按回车后系统将删除指定的文件。

5. copy。

copy命令用于复制文件。

在CMD中输入copy加上源文件路径和目标文件路径,按回车后系统将复制源文件到目标路径。

6. move。

move命令用于移动文件。

在CMD中输入move加上源文件路径和目标文件路径,按回车后系统将移动源文件到目标路径。

7. ren。

ren命令用于重命名文件。

在CMD中输入ren加上原文件名和新文件名,按回车后系统将把原文件重命名为新文件名。

8. type。

type命令用于显示文件内容。

在CMD中输入type加上文件名,按回车后系统将显示指定文件的内容。

9. tasklist。

tasklist命令用于显示当前运行的所有进程。

在CMD中输入tasklist,按回车后系统将列出当前所有正在运行的进程的详细信息。

10. taskkill。

taskkill命令用于结束指定的进程。

在CMD中输入taskkill加上进程ID,按回车后系统将结束指定的进程。

11. ipconfig。

ipconfig命令用于显示当前网络配置信息。

在CMD中输入ipconfig,按回车后系统将显示当前计算机的网络配置信息,包括IP地址、子网掩码、网关等。

cmd文件操作指令

cmd文件操作指令

cmd文件操作指令CMD文件操作指令是Windows操作系统中常用的命令行工具,通过CMD文件操作指令可以实现多种功能,如文件的复制、移动、删除等操作。

本文将介绍几个常用的CMD文件操作指令,包括dir、copy、move、del等。

一、dir命令dir命令是用来显示当前目录下的文件和文件夹列表的。

我们可以通过dir命令查看当前目录下的文件和文件夹的名称、大小、创建时间等信息。

使用dir命令的基本语法如下:```dir [参数] [路径]```参数可以使用不同的选项来控制显示的内容,如使用"/a"参数可以显示所有文件和文件夹,包括隐藏文件和系统文件。

二、copy命令copy命令是用来复制文件的。

我们可以使用copy命令将一个或多个文件复制到指定的目录中。

使用copy命令的基本语法如下:```copy [源文件路径] [目标文件路径]```源文件路径可以是一个文件,也可以是一个文件夹。

目标文件路径是一个文件夹,用来指定复制后的文件存放的位置。

三、move命令move命令是用来移动文件或文件夹的。

我们可以使用move命令将一个文件或文件夹移动到指定的位置。

使用move命令的基本语法如下:```move [源文件路径] [目标文件路径]```源文件路径可以是一个文件,也可以是一个文件夹。

目标文件路径是一个文件夹,用来指定移动后的文件存放的位置。

四、del命令del命令是用来删除文件的。

我们可以使用del命令删除一个或多个文件。

使用del命令的基本语法如下:```del [文件路径]```文件路径可以是一个文件,也可以是一个文件夹。

如果要删除一个文件夹及其子文件夹和文件,可以使用"/s"参数。

五、其他常用命令除了上述的几个常用命令外,还有一些其他的CMD文件操作指令也非常实用。

比如:1. ren命令:用来重命名文件或文件夹。

2. md命令:用来创建新的文件夹。

3. rd命令:用来删除空文件夹。

cmd指令大全

cmd指令大全

cmd指令大全CMD指令大全。

CMD指令是Windows操作系统中的命令行工具,可以通过CMD来执行各种操作系统指令。

在日常使用中,熟练掌握CMD指令可以帮助我们更高效地管理和操作计算机。

本文将为大家介绍一些常用的CMD指令,希望能够帮助大家更好地利用这一工具。

1. cd。

cd指令用于改变当前目录。

例如,输入“cd C:\Windows”可以切换到Windows目录;输入“cd..”可以返回上一级目录。

2. dir。

dir指令用于列出当前目录中的文件和子目录。

输入“dir”可以列出当前目录下的所有文件和子目录的详细信息。

3. mkdir。

mkdir指令用于创建新的目录。

输入“mkdir NewFolder”可以在当前目录下创建一个名为NewFolder的新目录。

4. del。

del指令用于删除文件。

输入“del FileName.txt”可以删除当前目录下名为FileName的文件。

5. rmdir。

rmdir指令用于删除目录。

输入“rmdir FolderName”可以删除当前目录下名为FolderName的目录。

6. copy。

copy指令用于复制文件。

输入“copy SourceFile.txt TargetFolder”可以将SourceFile.txt文件复制到TargetFolder目录中。

7. move。

move指令用于移动文件。

输入“move SourceFile.txt TargetFolder”可以将SourceFile.txt文件移动到TargetFolder目录中。

8. ren。

ren指令用于重命名文件或目录。

输入“ren OldName.txt NewName.txt”可以将OldName.txt文件重命名为NewName.txt。

9. type。

type指令用于显示文件内容。

输入“type FileName.txt”可以显示FileName.txt 文件的内容。

10. tasklist。

Windows CMD命令中的数据加密与解密指令

Windows CMD命令中的数据加密与解密指令

Windows CMD命令中的数据加密与解密指令在当今信息时代,数据安全问题备受关注。

无论是个人用户还是企业组织,都需要采取措施来保护敏感数据免受恶意攻击和泄露的风险。

而在Windows操作系统中,CMD命令提供了一些简单而强大的数据加密与解密指令,可以帮助用户实现数据的安全存储和传输。

一、数据加密指令1. Cipher命令Cipher命令是Windows操作系统中的一个强大工具,可以用于加密文件和文件夹。

通过Cipher命令,用户可以将敏感数据加密,使其在存储和传输过程中更难以被未经授权的人访问。

使用Cipher命令加密文件的基本语法如下:cipher /e <文件或文件夹路径>例如,要加密名为"test.txt"的文件,可以使用以下命令:cipher /e C:\Users\Username\Documents\test.txt2. BitLocker命令BitLocker是Windows操作系统中的一种硬盘加密工具,可以对整个硬盘或特定分区进行加密。

通过BitLocker命令,用户可以使用密码或其他身份验证方式来加密硬盘,并设置访问权限。

使用BitLocker命令加密硬盘的基本语法如下:manage-bde -on <硬盘或分区的驱动器号>例如,要加密C盘,可以使用以下命令:manage-bde -on C:二、数据解密指令1. Cipher命令Cipher命令不仅可以用于加密文件,还可以用于解密已加密的文件。

使用Cipher命令解密文件的基本语法如下:cipher /d <文件或文件夹路径>例如,要解密名为"test.txt"的文件,可以使用以下命令:cipher /d C:\Users\Username\Documents\test.txt2. BitLocker命令BitLocker命令不仅可以用于加密硬盘,还可以用于解密已加密的硬盘。

经典的串口调试助手源代码

经典的串口调试助手源代码

/article/446.html/hinzn/blog/item/4e81b4459b390a2ecffca3bb.html/modeng_2005/blog/static/265611200981142011329//mod eng_2005/blog/static/265611200981142011329/Dim OutputAscii As BooleanDim InputString As StringDim 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 "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 LongPrivate Sub CloseCom() '关闭串口On Error GoTo ErrIf MSComm.PortOpen = True Then MSComm.PortOpen = False ' 先判断串口是否打开,如果打开则先关闭txtstatus.Text = "STATUS:COM Port Cloced" ' 串口状态显示mnuconnect.Caption = "断开串口"cmdswitch.Caption = "打开串口"'ImgSwitch.Picture = LoadPicture("f:\我的VB\串口调试软件\图片\guan.jpg") ' 显示串口已经关闭的图标ImgSwitchoff.Visible = TrueImgSwitchon.Visible = FalseErr:End SubPrivate Sub UpdateStatus()If MSComm.PortOpen ThenStatusBar1.Panels(1).Text = "Connected"mnuautosend.Caption = "自动发送"mnuconnect.Caption = "断开串口"ElseStatusBar1.Panels(1).Text = "断开串口"mnuautosend.Caption = "disautosend"mnuconnect.Caption = "打开串口"End IfStatusBar1.Panels(2).Text = "COM" & mPortStatusBar1.Panels(3).Text = MSComm.SettingsIf (OutputAscii) ThenStatusBar1.Panels(4) = "ASCII"ElseStatusBar1.Panels(4) = "HEX"End If'On Error GoT o ErrIf ChkAutoSend.Value = 1 Then ' 如果有效则,自动发送If MSComm.PortOpen = True Then ' 串口状态判断mnuautosend.Caption = "Dis&autosend"TmrAutoSend.Interval = Val(TxtAutoSendTime) ' 设置自动发送时间TmrAutoSend.Enabled = True ' 打开自动发送定时器Elsemnuautosend.Caption = "autosend"ChkAutoSend.Value = 0 ' 串口没有打开去掉自动发送MsgBox "串口没有打开,请打开串口", 48, "串口调试助手" ' 如果串口没有被打开,提示打开串口End IfElseIf ChkAutoSend.Value = 0 Then ' 如果无效,不发送mnuautosend.Caption = "autosend"TmrAutoSend.Enabled = False ' 关闭自动发送定时器End IfErr:End SubPrivate Sub CmdSendFile_Click() '发送文件On Error GoTo ErrIf MSComm.PortOpen = True Then ' 如果串口打开了,则可以发送数据If FileData = "" Then ' 判断发送数据是否为空MsgBox "发送的文件为空", 16, "串口调试助手" ' 发送数据为空则提示ElseIf ChkHexReceive.Value = 1 Then ' 如果按十六进制接收时,按二进制发送,否则按文本发送MSComm.InputMode = comInputModeBinary ' 二进制发送ElseMSComm.InputMode = comInputModeText ' 文本发送End IfMSComm.Output = Trim(FileData) ' 发送数据ModeSend = True ' 设置文本发送方式End IfElseMsgBox "串口没有打开,请打开串口", 48, "串口调试助手" ' 如果串口没有被打开,提示打开串口End IfErr:End SubPrivate Sub Comm_initial(Port As Byte, BaudRate As String, ParityBit As String, DataBit As Integer, StopBit As Integer)On Error GoTo ErrorTrap ' 错误则跳往错误处理If MSComm.PortOpen = True Then MSComm.PortOpen = False ' 先判断串口是否打开,如果打开则先关闭mPort = Port ' 设定端口MSComm.Settings = BaudRate & "," & ParityBit & "," & DataBit & "," & StopBit ' 设置波特率,无校验,8位数据位,1位停止位MSComm.InBufferSize = 1024 ' 设置接收缓冲区为1024字节MSComm.OutBufferSize = 4096 ' 设置发送缓冲区为4096字节MSComm.InBufferCount = 0 ' 清空输入缓冲区MSComm.OutBufferCount = 0 ' 清空输出缓冲区MSComm.SThreshold = 1 ' 发送缓冲区空触发发送事件MSComm.RThreshold = 1 ' 每X个字符到接收缓冲区引起触发接收事件MSComm.OutBufferCount = 0 ' 清空发送缓冲区MSComm.InBufferCount = 0 ' 滑空接收缓冲MSComm.PortOpen = True ' 打开串口If MSComm.PortOpen = True Thentxtstatus.Text = "STATUS:" & cbocom.Text & " OPEND," & cbobaudrate.Text & "," & Left(cboparitybit.Text, 1) & "," & cbodatabit.Text & "," & cbostopbit.TextElsetxtstatus.Text = "STATUS:COM Port Cloced" ' 串口没打开时,提示串口关闭状态End IfExit SubErrorTrap: ' 错误处理Select Case Err.NumberCase comPortAlreadyOpen ' 如果串口已经打开,则提示MsgBox "没有发现此串口或被占用", 49, "串口调试助手"CloseComCase ElseMsgBox "没有发现此串口或被占用", 49, "串口调试助手"CloseComEnd SelectErr.ClearEnd SubPrivate Sub Comm_reSet(Port As Byte, BaudRate As String, ParityBit As String, DataBit As Integer,StopBit As Integer)On Error GoTo ErrorHint ' 错误则跳往错误处理If MSComm.PortOpen = True Then MSComm.PortOpen = False ' 先判断串口是否打开,如果打开则先关闭mPort = Port ' 设定端口MSComm.Settings = BaudRate & "," & ParityBit & "," & DataBit & "," & StopBit ' 设置波特率,无校验,8位数据位,1位停止位MSComm.PortOpen = True ' 打开串口If MSComm.PortOpen = True Thencmdswitch.Caption = "关闭串口"'ImgSwitch.Picture = LoadPicture("f:\我的VB\串口调试软件\图片\kai.jpg") ' 显示串口已经打开的图标ImgSwitchoff.Visible = Falsemnuconnect.Caption = "disconnect"ImgSwitchon.Visible = Truetxtstatus.Text = "STATUS:" & cbocom.Text & " OPEND," & cbobaudrate.Text & "," & Left(cboparitybit.Text, 1) & "," & cbodatabit.Text & "," & cbostopbit.TextElsecmdswitch.Caption = "打开串口"'ImgSwitch.Picture = LoadPicture("f:\我的VB\串口调试软件\图片\guan.jpg") ' 显示串口已经关闭的图标ImgSwitchon.Visible = FalseImgSwitchoff.Visible = Truetxtstatus.Text = "STATUS:COM Port Cloced"End IfExit SubErrorHint: ' 错误处理Select Case Err.NumberCase comPortAlreadyOpen ' 如果串口已经打开,则提示MsgBox "没有成功,请重试", vbExclamation, "串口调试助手"CloseCom ' 调用关闭串口函数Case ElseMsgBox "没有成功,请重试", vbExclamation, "串口调试助手"CloseCom ' 调用关闭串口函数End SelectErr.Clear ' 清除Err 对象的属性End SubPrivate Sub Command1_Click()End SubPrivate Sub cbobaudrate_Change()Call Comm_reSet(Val(Mid(cbocom.Text, 4, 2)), cbobaudrate.Text, Left(cboparitybit.Text, 1), cbodatabit.Text, cbostopbit.Text) '串口设置End SubPrivate Sub cbocom_Change()Call Comm_reSet(Val(Mid(cbocom.Text, 4, 2)), cbobaudrate.Text, Left(cboparitybit.Text, 1), cbodatabit.Text, cbostopbit.Text) '串口设置End SubPrivate Sub cbodatabit_Change()Call Comm_reSet(Val(Mid(cbocom.Text, 4, 2)), cbobaudrate.Text, Left(cboparitybit.Text, 1), cbodatabit.Text, cbostopbit.Text) '串口设置End SubPrivate Sub cboparitybit_Change()Call Comm_reSet(Val(Mid(cbocom.Text, 4, 2)), cbobaudrate.Text, Left(cboparitybit.Text, 1), cbodatabit.Text, cbostopbit.Text) '串口设置End SubPrivate Sub cbostopbit_Change()Call Comm_reSet(Val(Mid(cbocom.Text, 4, 2)), cbobaudrate.Text, Left(cboparitybit.Text, 1), cbodatabit.Text, cbostopbit.Text) '串口设置End SubPrivate Sub chkautosend_Click()On Error GoTo ErrIf ChkAutoSend.Value = 1 Then ' 如果有效则,自动发送If MSComm.PortOpen = True Then ' 串口状态判断mnuautosend.Caption = "取消自动发送"TmrAutoSend.Interval = Val(TxtAutoSendTime) ' 设置自动发送时间TmrAutoSend.Enabled = True ' 打开自动发送定时器ElseChkAutoSend.Value = 0 ' 串口没有打开去掉自动发送MsgBox "串口没有打开,请打开串口", 48, "串口调试助手" ' 如果串口没有被打开,提示打开串口End IfElseIf ChkAutoSend.Value = 0 Then ' 如果无效,不发送mnuautosend.Caption = "自动发送数据"TmrAutoSend.Enabled = False ' 关闭自动发送定时器End IfErr:End SubPrivate Sub cmdamend_Click()Dim spShell As Object ' 定义存放引用对象的变量Dim spFolder As Object ' 定义存放引用对象的变量Dim spFolderItem As Object ' 定义存放引用对象的变量Dim spPath As String ' 定义存放的变量On Error GoTo Err ' 错误处理,防止取消打开文件夹时报错Const WINDOW_HANDLE = 0Const NO_OPTIONS = 0Set spShell = CreateObject("Shell.Application")Set spFolder = spShell.BrowseForFolder(WINDOW_HANDLE, "选择目录:", NO_OPTIONS, "C:\Scripts")Set spFolderItem = spFolder.SelfspPath = spFolderItem.PathspPath = Replace(spPath, "\", "\") ' Replace函数的返回值是一个字符串txtsavepath.Text = spPath ' 把文件夹路径显示在标签上SaveTextPath = txtsavepath.Text ' 路径暂存Err:End SubPrivate Sub CmdClearCounter_Click()On Error GoTo ErrSendCount = 0 ' 发送计数器清零ReceiveCount = 0 ' 接收计数器清零txtRXcount.Text = "RX:" & 0 ' 接收计数txtTXcount.Text = "TX:" & 0 ' 发送计数Err:End SubPrivate Sub cmdclearrecieve_Click()TxtReceive.Text = ""End SubPrivate Sub cmdclearsend_Click()txtsend.Text = ""End SubPrivate Sub CmdHelp_Click()FrmHelp.ShowEnd SubPrivate Sub CmdQuit_Click()If MSComm.PortOpen = True Then MSComm.PortOpen = False ' 先判断串口是否打开,如果打开则先关闭Unload Me ' 卸载窗体,并退出程序EndEnd SubPrivate Sub cmdsavedisp_Click()On Error GoTo Err ' 错误处理SaveTextPath = txtsavepath ' 路径暂存Open txtsavepath & "\1.txt" For Output As #1 ' 打开文件' 不存在的话会创建文件,如已存在会覆盖' output 改为append 为追加' 改为input 则只读Print #1, Year(Date) & "年" & Month(Date) & "月" & Day(Date) & _"日" & Hour(Time) & "时" & Minute(Time) & "分" & Second(Time) & _"秒" & vbCrLf & TxtReceive.Text + vbCrLf ' 把接收区的文本保存文本前加上保存时间(0000年00月00日00时00分00秒)' vbcrlf 为回车换行Close #1 ' 关闭文件txtsavepath = "OK,1.txt Save" ' 提示保存成功cmdsavedisp.Enabled = FalseSavetime = Timer ' 记下开始的时间While Timer < Savetime + 5 ' 循环等待5 - 要延时的时间DoEvents ' 转让控制权,以便让操作系统处理其它的事件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档