经典的串口调试工具源代码二Word文档格式.docx

上传人:b****2 文档编号:709789 上传时间:2023-04-29 格式:DOCX 页数:17 大小:64.07KB
下载 相关 举报
经典的串口调试工具源代码二Word文档格式.docx_第1页
第1页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第2页
第2页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第3页
第3页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第4页
第4页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第5页
第5页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第6页
第6页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第7页
第7页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第8页
第8页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第9页
第9页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第10页
第10页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第11页
第11页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第12页
第12页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第13页
第13页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第14页
第14页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第15页
第15页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第16页
第16页 / 共17页
经典的串口调试工具源代码二Word文档格式.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

经典的串口调试工具源代码二Word文档格式.docx

《经典的串口调试工具源代码二Word文档格式.docx》由会员分享,可在线阅读,更多相关《经典的串口调试工具源代码二Word文档格式.docx(17页珍藏版)》请在冰点文库上搜索。

经典的串口调试工具源代码二Word文档格式.docx

StatusBar1.Panels

(2).Text="

COM"

&

MSComm.CommPort

StatusBar1.Panels(3).Text=MSComm.Settings

If(OutputAscii)Then

StatusBar1.Panels(4)="

ASCII"

HEX"

Err:

EndSub

PrivateSubForm_Load()

lblWEB.FontUnderline=True 

WEB上加下划线

lblWEB.ForeColor=vbBlue 

蓝色显示WEB

txtsend.Text="

"

载入发送信息

IfMSComm.PortOpen=TrueThenMSComm.PortOpen=False 

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

初始化串口

CallComm_initial(Val(Mid(cbocom.Text,4,1)),cbobaudrate.Text,Left(cboparitybit.Text,1),cbodatabit.Text,cbostopbit.Text)

数据位载入

cbodatabit.AddItem"

8"

7"

6"

停止位载入

cbostopbit.AddItem"

1"

1.5"

2"

PrivateSubhexReceive()

DimReceiveArr()AsByte 

接收数据数组

DimreceiveDataAsString 

数据暂存

DimCounterAsInteger 

接收数据个数计数器

DimiAsInteger 

循环变量

If(MSComm.InBufferCount>

0)Then

Counter=MSComm.InBufferCount 

读取接收数据个数

receiveData="

清缓冲

ReceiveArr=MSComm.Input 

数据放入数组

Fori=0To(Counter-1)Step1 

数据格式处理

If(ReceiveArr(i)<

16)Then

receiveData=receiveData&

"

0"

+Hex(ReceiveArr(i))&

Space

(1) 

小于16,前面加0

Hex(ReceiveArr(i))&

加空格显示

Nexti

TxtReceive.Text=TxtReceive.Text+receiveData 

显示接收的十六进制数据

TxtReceive.SelStart=Len(TxtReceive.Text) 

显示光标位置

ReceiveCount=ReceiveCount+Counter 

接收计数

txtRXcount.Text="

RX:

ReceiveCount 

接收字节数显示

Ifchkautoclear.Value=1Then 

自动清空判断

IfReceiveCount>

=65535Then

TxtReceive.Text="

PrivateSubhexSend()

OnErrorResumeNext

DimoutputLenAsInteger 

发送数据长度

DimoutDataAsString 

发送数据暂存

DimSendArr()AsByte 

发送数组

DimTemporarySaveAsString 

DimdataCountAsInteger 

数据个数计数

局部变量

outData=UCase(Replace(txtsend.Text,Space

(1),Space(0))) 

先去掉空格,再转换为大写字母

outData=UCase(outData) 

转换成大写

outputLen=Len(outData) 

数据长度

Fori=0TooutputLen

TemporarySave=Mid(outData,i+1,1) 

取一位数据

If(Asc(TemporarySave)>

=48AndAsc(TemporarySave)<

=57)Or(Asc(TemporarySave)>

=65AndAsc(TemporarySave)<

=70)Then

dataCount=dataCount+1

ExitFor

ExitSub

Next

IfdataCountMod2<

>

0Then 

判断十六进制数据是否为双数

dataCount=dataCount-1 

不是双数,则减1

outData=Left(outData,dataCount) 

取出有效的十六进制数据

ReDimSendArr(dataCount/2-1) 

重新定义数组长度

Fori=0TodataCount/2-1

SendArr(i)=Val("

H"

+Mid(outData,i*2+1,2)) 

取出数据转换成十六进制并放入数组中

SendCount=SendCount+(dataCount/2) 

计算总发送数

txtTXcount.Text="

TX:

SendCount

MSComm.Output=SendArr 

发送数据

PrivateSubOpenCom()'

打开串口

CallComm_reSet(Val(Mid(cbocom.Text,4,1)),cbobaudrate.Text,Left(cboparitybit.Text,1),cbodatabit.Text,cbostopbit.Text) 

串口设置

txtstatus.Text="

STATUS:

cbocom.Text&

OPEND,"

cbobaudrate.Text&

"

Left(cboparitybit.Text,1)&

cbodatabit.Text&

cbostopbit.Text

cmdswitch.Caption="

关闭串口"

disconnect"

ImgSwitch.Picture=LoadPicture("

f:

\我的VB\串口调试软件\图片\kai.jpg"

) 

显示串口已经打开的图标

ImgSwitchon.Visible=True

ImgSwitchoff.Visible=False

COMPortCloced"

串口状态显示

打开串口"

\我的VB\串口调试软件\图片\guan.jpg"

显示串口已经关闭的图标

ImgSwitchoff.Visible=True

ImgSwitchon.Visible=False

PrivateSubtextReceive()

InputSignal=MSComm.Input

ReceiveCount=ReceiveCount+LenB(StrConv(InputSignal,vbFromUnicode)) 

计算总接收数据

IfDisplaySwitch=FalseThen 

显示接收文本

TxtReceive.Text=TxtReceive.Text&

InputSignal 

单片机内存的值用TextReceive显示出

PrivateSubtextSend()

IfModeSend=TrueThen

OutputSignal=FileData 

发送文件

OutputSignal=txtsend.Text 

发送文本

SendCount=SendCount+LenB(StrConv(OutputSignal,vbFromUnicode)) 

SendCount 

发送字节数显示

PrivateSubImage1_Click()

PrivateSubmnuautosend_Click()

IfTmrAutoSend.Enabled=TrueThen 

如果有效则,自动发送

IfMSComm.PortOpen=TrueThen 

串口状态判断

ChkAutoSend.Value=1

TmrAutoSend.Interval=Val(TxtAutoSendTime) 

设置自动发送时间

mnuautosend.Caption="

取消自动发送"

TmrAutoSend.Enabled=True 

打开自动发送定时器

自动发送"

ChkAutoSend.Value=0 

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

MsgBox"

串口没有打开,请打开串口"

48,"

串口调试助手"

如果串口没有被打开,提示打开串口

ElseIfTmrAutoSend.Enabled=FalseThen 

如果无效,不发送

autosend"

TmrAutoSend.Enabled=False 

关闭自动发送定时器

EndIf

PrivateSubmnucom_Click(IndexAsInteger)

DimiAsInteger

DimOldPortAsLong

OnErrorResumeNext

WithMSComm

OldPort=.CommPort

IfMSComm.PortOpenThen

.PortOpen=False

.CommPort=Index

.PortOpen=True

IfErr.Number<

Thisshouldnothappen...

Com"

Index&

isnotavailable."

_

vbCrLf&

Err.Description

Err.Clear

.CommPort=OldPort

Fori=1To4

mnucom(i).Checked=False

mnucom(Index).Checked=True

mnucom(i).Checked=F

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2