




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于VB的串心通信及其硬件真现摘要:串心通信因为其简朴,灵敏易用,正在许多范围有着广年夜的使用近景。本文正在深化理解串心通信妙技的根柢上,结开自己的工程理论经历,阐述了vb串心编程的妙技要面。并结开一个通信真例,阐收通信的详细真现,给相闭范围的研讨人员供应值得参考的疑息。闭键词:串心;rs232;api;p;s;通信程序abstrat:serialuniatinhasbradappliatininanyfieldsbeausefitssipleuniatiniruitryandflexibility.basedndeepprehensinfthetehnlgyftheserialuniatin
2、s,thisartileexpundsiprtanttehnlgydetailintegratedithpratieexperiene.anexaplefuniatinprgraispresentedandanalyzed,hihgivestherresearhersvaluablerefereneinfratin.keyrds:serial;rs232;api;p;s;uniatinprgra如古通信方法越去越多,速度越去越快,但串止通信因为自己价格低、战谈通明、硬件投资少、硬件编程简朴等诸多劣面正在远程数据网罗、监视、通信及操做范围里没有断占有着极端慌张的职位。它没有单出有因为时期的前进而
3、被淘汰,反而正在规格上越去越好谦、使用越去越广,少暂没有衰。1串心通信的通信机理p串止通信是指间接对串止端心的uart(p机的通用同步支收器,也叫同步通信适配器,是p机用于同步通信的接心)举止编程真现的通信。p机每一个uart中的ins8250中有10个可编程的单字节存放器,可用于操做、监视操做串止端心,1的存放器所在3f8h-3feh,2的存放器所在为2f8h-2feh。10个存放器由7个所在访谒,其中5个存放器的访谒前提是先设置3fbh线路操做存放器的最下位为“1,该位也称为dlab形态位。1一样仄居讲去,p机皆有一个或多个串止端心,它们顺次为1、2。那些串心供应了内部装备与p举止数据传输
4、战通信的通讲,正在pu战中设之间充任了表黑器的足色。当字符数据从pu收支给中设时,那些字符数据将被转换成串止比特流数据;而当担任数据时,从中界进去的比特流数据被转换成字符数据传递给pu举止处理。正在操做系统圆里,inds用通信驱动程序(.drv)挪用api函数收支战担任数据。当用通信控件或声明挪用api函数时,它们由.drv表黑并传递给装备驱动程序。做为一个vb程序员,要编写串心通信程序,只需晓得通信控件供应应inds通信api函数的接心便可,换止之,只需设定战监视通信控件的属性战工夫便可。2串止通信接心rs-232前一章节会商了串心通信的通信机理,但为了真现详细的数据网罗、监视、通信成效,必
5、须理解详细的串心形式。如古操做最广泛的串止接心有两种:rs-232战rs-485。本文侧重会商rs-232,rs-485没有做介绍。rs-232标准的齐称是eia-rs-232标准,其中eia代表好国电子财产协会,rs代表推荐标准,232是标识号,代表rs232的最新一次建正(1969年),正在那之前,有rs232a、rs232b战谈。它规定毗邻电缆战机械、电气特征、疑号成效及传支过程。eia-rs-232定义了按位串止传输的数据终端装备(dte)战数据通信装备(de)之间的接心疑息。rs-232是从dte或策画机串止接吵嘴度去定义引足疑号的。如古rs-232是p机与通信财产中使用最广泛的一种
6、串止接心。rs232被定义为一种正在低速度串止通信中删减通信间隔 的单端标准。rs232采与没有仄衡传输方法,即所谓的单端通信。2db9(9针串心)的接线方法以下:1足,数据载波检测dd;2足,吸支数据rxd;3足,收支数据txd;4足,数据终端准备dtr;5足,疑号天gnd;6足,数据装备伏贴dsr;7足,恳供收支rts;8足,拂拭收支ts;9足,振铃唆使dell。db25(25阵串心),经常使用的针足也有9个,且战db9可以一一对应,详细接线方法为:8足,数据载波检测dd;3足,吸支数据rxd;2足,收支数据txd;20足,数据终端准备dtr;7足,疑号天gnd;6足,数据装备伏贴dsr;
7、4足,恳供收支rts;5足,拂拭收支ts;22足,振铃唆使dell。一样仄居去讲,对于要供没有太下的场开,操做吸支数据rxd,收支数据txd,疑号天gnd三个足便可真现数据传输。假设要供有硬件流操做,那么必须操做dtr、dsr、rts战ts那四个足。值得注意的是rs-232是用正背电压去表示逻辑形态,与ttl以下电仄表示逻辑形态的规定没有同。果而,为了可以大概与策画机接心或终真个ttl器件毗邻,必须正在rs-232与ttl电路之间举止电安稳安静冷静僻静逻辑闭连的变动。如古较为广泛天操做散成电路转换器件,如1489、sn75150芯片可完成ttl电仄到eia电仄的转换,而1489、sn75154
8、可真现eia电仄到ttl电仄的转换。3三种读与串心数据的方法如古通用的串心通信的硬件真现方法有3种,本文皆举止详细的介绍,它们各有自己的劣缺陷,读者正在编程时可根据详细的情况挑选契开的方法。3.1操做s控件vb供应的那个通信控件“荫蔽了年夜局部串心通信的底层运转过程,程序员只需编写大批的代码便可以完成硬件的开拓过程。正在通信数据量没有年夜,通信要供没有是很下的情况下建议采与此方法。操做s控件真现通信最需要掌握的便是它的几个主要属性,上里拔与其中慌张的举止介绍,其中的可以参考相闭材料。3(1)settings属性:以字符串的形式设置并返回波特率、奇奇校验位、数据位、防止位。那个属性很慌张,针对没
9、有同的终端装备需要根据装备的详细情况举止调整(比方日本的装备没有同于好国的装备,但凡会采与奇校验)。(2)inputde属性:设置吸支数据的标准,0为文本格局,1为两进造格局。(3)input属性:读与并删除吸支缓冲区中的数据流。(4)utput属性:背收支缓冲区传支一数据流。(5)rthreshld属性:该属性为一阀值,它肯定当吸支缓冲区内的字节个数抵达或超出该值后便收死代码为evreeive的n事变。(6)handshaking属性:设置战返回握脚战谈,即策画机内部pu与串心之间的通信战谈,保证正在缓冲区过载时数据没有会丧得。那个属性正在保证数据传输的准确性圆里有很年夜的做用,共有四个选项
10、,分别表示:无流操做;硬件流操做;硬件流操做;硬硬件流操做。采与硬件流控时,要供串心之间战电缆支撑硬件握脚,正在自己造做串心通信线时,有闭硬件握脚的线rts、ts、dsr、dtr要毗邻准确。正在准确设置那些属性的根柢上,剩下的便是翻开串心,经由过程串心收支及担任数据了。本文后绝章节操做一个真例详细讲解了那些属性的设置及详细代码。3.2间接挪用in32api通信函数间接挪用indsapi函数,可以明晰天年夜黑串心通信的机造,根据需要灵敏天设置串心的各种参数战属性,而且间接挪用低层api函数,通信从命比较下,但付出的价格便是程序较庞年夜,编程周期少,恰当于年夜型通信程序及通信量量要供较下的场开。正
11、在32位的inds系统中,串心通信是做为文件处理的,串心操做一样仄居为翻开、启锁、读嫁写进等操做,响应的indsapi函数以下:4(1)reatefile()函数:真现串心的初初化并翻开串心,返回串心句柄资本以供后绝过程挪用。(2)lsefile()函数:启锁串心,串心心角同享资本,使用程序以独有方法操做,通信完毕应坐即启锁。(3)readfile()函数:从串心输进缓冲区读与数据流。(4)ritefile()函数:背串心输出缓冲区收支数据。(5)getstate()函数:猎与串心确当前设置。(6)setstate()函数:从头分拨串心资本的各个参数。因为indsapi函数年夜局部是用或+编写
12、,所以正在visualbasi6.0中挪用indsapi函数之前必须先正在模块级代码上用delare语句对所挪用的函数战用到的数据规划举止声明,详细的函数声明及数据规划请参考墨友芹编?新编indsapi参考年夜齐?。3.3挪用第三圆函数库(如p函数库)dll(dynailinklibrary)静态链接库是一种可以被vb语止挪用的程序模块。dll中包含的可真止代码没有能零丁真止,而应由inds使用程序挪用真止。一样仄居数据网罗卡的供应商皆会供应该网罗卡的dll库函数,操做那些dll库函数,可以做到程序代码同享,淘汰程序的编写工作量。用户没有需要晓得那些代码的真现细节,只需要理解挪用函数的参数战函
13、数处理后的返回值。p函数库是由台湾xa公司为开拓串心通信程序供应的一套函数库。经由过程对indsapi函数的进一步启拆,供应50多个串心操做函数。覆盖了inds操做系统下几乎局部同步通信的标题问题,可以烦琐的开拓多线程通信程序。采与该库,通信的牢靠性与操做s32控件比较有了隐着前进,而相对间接操做in32api函数编程那么降低了程序开收难度,膨胀了程序开拓周期。那种方法上述间接挪用indsapi函数有类似的地方,但也有隐着的没有同。api函数常采与的要收是正在串心监视线程中设置串心通信事变掩码及堆叠机造,容许程序正在布景等待串心通信事变。经由过程aitevent检测特定的串止通信事变。而正在p
14、中,可以采与截至处理的方法,为各种事变指定响应的截至处理函数,如吸支到一定数目的字符,吸支到完毕字符,吸支到中止疑号和收支缓冲区为空等;同时借可以采与线程操做的方法,间接采与库中的si_read()战si_rite()函数读写串心。p.dll中的函数按成效分为6项:端心设置、数据收支与吸支、串心形态检测、事变处事、文件传输、纯项。p.dll中主要的函数介绍以下。5si_pen:翻初步心;si_lse:启锁端心。si_itl:设置端心参数,如波特率等。si_read:从端心吸支数据;si_rite背端心收支数据。si_iqueue:获得吸支缓冲区中的数据少度。si_queue:获得收支缓冲区中的
15、数据少度。p正在串心通信中的成效非常强衰,但基于篇幅的考虑,正在此没有便赘述,读者可参考相闭书籍或p自带的帮脚文档。4串心通信的缺点及处理因为中界干扰或电压波动等去由本由,串心通信年夜要会呈现缺点,如担任缓冲区溢出,奇奇校验缺点等。为了处理那些缺点,正在s控件中便供应了一个n事变,它可以捕获通信时收死的串心事变战缺点疑息,自动转进事变处理程序。正在n事变中,event属性是n事变的唆使,上里简朴介绍几个慌张的event属性值。eventbreak:表示支到一此截至疑号;eventfrae:表示硬件检测到一个数据帧缺点;evenrxver:表示吸支缓冲区溢出;eventtxfull:表示输出缓冲
16、区已谦;evreeive:表示接脚到了rthreshld个字符;evef:表示担任到了ef字符(asii字符26)。编程时用seletase语句,根据没有同的event属性值,去真止没有同的处理程序。除以上所述的通信缺点中,正在串心通信时,假设数据传输突然截至,对串心的读写操做年夜要会进进无量期的等待形态,为防止那种情况收死,必须设置串心读写操做的等待工夫,等待超时后,串心的读写操做将被自动抛却,多么即使数据传输突然截至程序也没有会被挂起或阻塞。可以根据详细要供规定串心读写操做的最少工夫值,即串心读写必须正在那段工夫内完成,否那么提醒串心操做得利。5串心通信真例本真例是一个网罗装备电流及功率的
17、通信程序,网罗仪为横河t230数字功率计,因为要网罗的数据量没有年夜,且工程规划简朴,故采与s控件的形式举止串心读写操做。详细真现程序以下:(1)正在窗体fr上增减两个慌张的控件:tier1战s1;(2)正在程序的fr_lad事变过程中增减以下代码:s1.prt=1操做1端心s1.setting=“9600,8,1设置通信心参数,注意是奇校验,详细的校验方法要视详细的仪器而定s1.inputde=inputdebinary设置吸支形式为两进造形式,注意一样仄居对于数据网罗那类装备通信,皆该当设置为两进造形式s1.prtpen=true参数设置好后翻初步心s1.handshaking=2-rts
18、设置为硬件流操做,可以有效防止数据丧得的情况收死(3)程序初步后正在一定情况设置tier1.enabled属性值为true激活tier1_tie事变,可以正在结真的时间隔 绝间隔 下真止tier1_tier过程中的代码程序,完成数据网罗。正在tier1_tier过程中增减以下代码:s1.utput=uniate:ait1+hr(13)+hr(10)s1.utput=easure:nral:value?+hr(13)+hr(10)上述语句是将读与指令收支到串心输出缓冲区(注意每一个命令字符串后皆要减上回车战换止符hr(13)+hr(10),再由系统将其自动收支给经由过程rs232通信线与策画机端心毗邻的t230数字功率计,功率计正在吸支到命令字符串后,经过自己的单片机处理,便自动天把它测到的电压、电流、功率数据以结真的格局战字符形式经由过程rs232通信线传回至策画机,策画机程序从输进缓冲区读与那些字符数据并操做vb字符处理函数(如val,instr)举止处理便获得了所要的数据,上里是详细的程序代码。dibytinput()asbyte注意要将bytinput定义为没有定少数组distrteasstringdiiasintegerbytinput=s1.input将输进缓
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国四路硬盘录像机数据监测研究报告
- 2025至2030年中国凉屋顶节能隔热防晒涂料数据监测研究报告
- 2025至2030年中国三腔双囊胃管数据监测研究报告
- 遗产继承协议咨询合同
- 2025年法律知识竞赛抢答题库及答案(共50题)
- 健康健身挑战赛参赛协议
- 医疗行业模拟试题
- 事业单位岗位聘用协议
- 健康保险代理销售合作协议
- 关于产品研发方向决策会议的纪要
- 全国优质课一等奖职业学校《绘制切割类组合体的三视图》课件
- 【自考复习资料】03011儿科护理学(二)复习重点
- 跳绳之双脚跳教案
- 大象版小学科学四年级下册5.1小船与浮力 教学课件
- 物资管理工作流程图
- 中国马克思主义与当代思考题(附答案)
- 中西式点心新手制作教程
- 读书分享交流会《从一到无穷大》课件
- 高大模板支撑体系安全检查验收表
- 苏教版六年级下册综合实践活动计划及全册教案
- 村集体经济组织会计制度讲解
评论
0/150
提交评论