c#上位机串口通信助手源代码详解

上传人:pu****.1 文档编号:488463730 上传时间:2023-10-19 格式:DOCX 页数:29 大小:76.38KB
返回 下载 相关 举报
c#上位机串口通信助手源代码详解_第1页
第1页 / 共29页
c#上位机串口通信助手源代码详解_第2页
第2页 / 共29页
c#上位机串口通信助手源代码详解_第3页
第3页 / 共29页
c#上位机串口通信助手源代码详解_第4页
第4页 / 共29页
c#上位机串口通信助手源代码详解_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《c#上位机串口通信助手源代码详解》由会员分享,可在线阅读,更多相关《c#上位机串口通信助手源代码详解(29页珍藏版)》请在金锄头文库上搜索。

1、c上位机串口通信助手源代码实例详解一、 功能1软件打开时,自动检测有效O端口2 软件打开时,自动复原到上次关闭时的状态 不必关闭串口,即可直接进行更改初始化设立内容(串标语、波特率、数据位、停止位、校验位),可按更改后的信息自动将串口重新打开 可记录接受字节和发送字节的个数5 接受数据可按6进制数据和非6进制数据进行整体转换6可将接受到数据进行保存 可设立自动发送,发送时间可进行实时更改可按字符串、6进制字节、文献方式进行发送,字符串和16进制字节可分别进行存储,内容互不干扰9 按6进制发送时,可自动校验格式,不会输错0 可清空发送或接受区域的数据二、 使用工具Visua Sdio三、 程序详

2、解1界面创立图1用inrm创立如图1所示界面,控件名字分别为:端标语:cbCOMrt波特率:cxudRate数据位:cbDatBits停止位:bxStopBit校验位:labl5打开串口按钮:tnpenCm发送(bye):tbSedCount接受(yte):tbRecvedut清空计数按钮:btClerCout按16进制显示:c16islay接受区清空内容按钮:btnClarRecved保存数据按钮:bSaeFile接受数据框:tRecivedDaa发送数据框:tSenDta自动发送:AutomaicSd间隔时间:tbSpacTme按16进制发送:cb1Sn发送区清空内容按钮:btnClare

3、nd读入文献按钮:badFile发送按钮:tnend2 创立一种措施类按tl+sif+A快捷键创立一种类,名字叫Methods,代码为:usi Sst;ing Sstem.Collections;sn St.Collcions.Geneic;s Sse.I.Pors;singSytem.Ln;uing Systm.ext;usin ystem.Threading.Taks;nmesac 串口助手dd lsthods /获取有效的COM口 pulc tatic strng ActivePos() AriactivePorts = n Arrist(); eac (strgpn inSerialr

4、.PortNae()) ivPortsdd(Cone.Tont(pam.ubstring(3); ativeP.Sot(); tring my= w trngePrs.o; int i =0; freach (intnu n atiePos) mst+ =CO +.otin(); returnmysr; /16进制字符串转换为byt字符数组 ubic stat Byt_16stoHex(string sVaue) sring exaluesSplit = trVau.pl(); Byte hexalues= nwytehxValslt.ent; Cosle.iteLine(ealesSli.e

5、gth); for(nt i0; i hexlusSplit.ent; i+) hexValui = CovTyte(hexVauesSpiti,1); retur hexVlues; /be数组以16进制形式转字符串 publicsi singByteo6Str(tbys) srig recData = nu;/创立接受数据的字符串 foeac(ytouBteyts)/将字节数组以1进制形式遍历到一种字符串内 ecDat =outByte.Trig(2) ; retrn reca; /6进制字符串转换字符串 blicsatic strin_16strTotr(strg 16str) rin

6、otS= ll; byeemyte = _16stroex(_tr); ouSr =odngfut.GtSring(stame); reun ouSr; 2 Frm1cs的代码为:using stm;usi Sym.Colletnseneri; Syse.Cmpone;uing em.aa;using Stemrawn;usnSystm.IO.Pot;sng Systm.Lin;inSystem.Text;sin System.TetRlrErsions;usi Stem.Trading.Tsks;unt.Widws.Frms;usinSystmO;sin Syt.Colletions;mpa

7、ce 串口助手sd pulic rtial cassFr1 :or /声明变量 Serilort nSralort(); bool etPrertyfalse;串口属性设立标志位 pa u PrtStte/声明接口显示状态,枚举型 打开, 关闭 ring ah Di.CurrenDmainBaeDirctoy + config.ni;/声明配备文献途径 trg bSdatatr =;/发送窗口字符串存储 strin tbSeDt1 ;/发送窗口进制存储 List ceedData nesbt();/接受数据泛型数组 /接受串口数据 rivtevods_Daaeeived(obct sner,

8、erialataRceivEvetArs) be ReeeDta ew ytyesToRead;/创立接受字节数组 sp.Rea(Recedta, 0, RceiDaaLh);/读取所接受到的数据 recvedDas.ddRange(eceivedData); bRecivedCountTet= (Coert.ToInt3(tbReceivent.Txt) +RecivD.Lengt).ToString(); f (c6DspyCk) bReeedaa.Text Methos.BtTo16St(reeidDaasToArray()); ls tbReeivedDataet Encodig.fa

9、ult.etStr(receivedData.ToAra(); s.DiscardInBufe();/丢弃接受缓冲区数据 发送串口数据 pravoid Dataen() t if (b16Sed.hekd) e hxtes Metod._16roHex(tSendDta1); sWrie(exBytes, 0,hxByesLeng); tSendCo.Tet = (Con.TIt32(tbSenount.Tet) heytes.ength).Srn(); lse pWriee(enaaSr); Sendonxt = (Conert.I(tSendCu.Tet) + bSdDatatrLenth).TStrin();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号