首页 API函数和MSComm32控件在串行通讯中的应用比较

API函数和MSComm32控件在串行通讯中的应用比较

举报
开通vip

API函数和MSComm32控件在串行通讯中的应用比较API函数和MSComm32控件在串行通讯中的应用比较 函数和控件)* +.0 (,-//! 在串行通讯中的应用比较 ) # 夏临闽黄飞 胡仁杰东南大学电气工程系 !$%%&’ #$%&$ !"’ PQ#- /N2#60L #$2N43.6L- 2"4 7L2Q43- 4O 3LKL04R#$S -LN/#0 6477.$#6/2#4$T "Q#6Q /NL #$34"- () /$3 ;’14%& 64$2N40: )2 64RNL 2QL 2 LKLN0 RL62T $3 04 S#KL 4L R0L 643...

API函数和MSComm32控件在串行通讯中的应用比较
API函数和MSComm32控件在串行通讯中的应用比较 函数和控件)* +.0 (,-//! 在串行通讯中的应用比较 ) # 夏临闽黄飞 胡仁杰东南大学电气工程系 !$%%&’ #$%&$ !"’ PQ#- /N2#60L #$2N43.6L- 2"4 7L2Q43- 4O 3LKL04R#$S -LN/#0 6477.$#6/2#4$T "Q#6Q /NL #$34"- () /$3 ;’14%& 64$2N40: )2 64RNL 2QL 2 LKLN0 RL62T $3 04 S#KL 4L R0L 643L: 00 2QLL S#KL LN#0 58777/-7/-//--//---7-/7---/’6477.$#6/2#4$ 3LKL04RLN- -47L K/0./U0L /3K#6L: :,,()*+,%-#-LN/#0 6477.$#6/2#4$()518477%& ’ 摘 要 本文分别介绍了开发串口程序的两种 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,控件。并对两者做了具体的比较,给 函数和 ;#$34"- ’() 518477%& 串口通讯开发人员提供了一些建议。 关键词:串行通讯,,函数 ’() 518477%& 引言在 这一层上对串口的操作和其他层次有 )AD !;! 在智能仪器的研制中,如果上下位机有数据交 很大的不同。本文讨论的范围是 及以上 ;)A%& E FG 换,就需要使用通讯设备。在这之中,串行口的使用 的 层 次 。 对 串 口 进 行 操 作 的 函 数 位 于 ’() >?@ J频率最高。在 环境下,使用串行口有两种比较 "#$%& 中。在 及以上版本中,串口和 A=: <== )A%& E FG ’;* + 常用的方法,一种是使用 应用程序接口 "#$%& ’() ()其他通讯设备 如并口是作为文件处理的,串口的 (函数,另一种则是使用第三方控件 系 ,#-./0 12.3#4 )打开,关闭,读取和写入所用到的 函数与相应的 ’() 列软件中也提供,控件。当工程人员决 5-6477%& 定编写对串口操作的程序时,首先考虑的问题,就是 对文件操作的函数相同。但是这两者并不是完全等 选用哪一种方法。作者在 开发平台上, ,#-./0 8 9 9 同的,举个例子,程序可以创建新文件,却不可以创对这两种方法都进行了应用实践,现结合作者的应 建新端口。所以,在这些 函数中,有一些函数对 ) ’(用体会,介绍如下。 串口操作是无效的。 控件&: & 518477%& 是一个 控件,它是 函数和控件的简单介绍 518477%& ’62#KLM 8NL-J& ’() 公司开发的用于串行端口发送和 6L$2 4O2NL )$6 -"/串口通讯 函数 &: ) ! (’接收数据控件。控件的技术基础是组件对象 ’62#KLM 组成的,这些本身是由若干个 ;#$34"- <== ()模型 。每个 控件都有它的属性和方 8H5’62#KLM 包括 ,,<== >?@A’=: <==B<)%&: <==C1?@: <==法。每一个属性都可以通过指定整数索引及相应的值 ()等。其它应用程序当然操作系统也一样,可以调用 来设置,也可通过整数索引值来获取控件的属性值。 控件的方法与函数很类似,有一个名字,一组参数,和 这些库中的函数,完成窗口与图形的显示、内存管理 一个返回值。如果程序中使用了 控件,应用 ’62#KLM 或其他任务。这些函数被称为 ,或应用 ;#$34"- ’() 程序会根据需要,通过注册 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf ,动态地将控件装入内 程序接口。因为 系统的源代码是不可知#$34"- ;存。控件提供了很多有用的属性和方 518477%& 的,所以可以认为,函数是 操作系统与 ’() ;#$34"- 法,通过它们用户可以很容易的对串口进行操作。在 外部联系的一个窗口。使用这些函数,就可以向操作 诸多属性中,属性是一个很重要的属性, 4KL$2 877? 系统请求执行更低级的设备访问操作,比如对串口它返回当前通信事件或错误,该属性设计时不可用, 的操作。伴随着 操作系统的发展,#$34 #$34 "-"-;;运行时可以读出。用户可以在 中添加代码H$8477 , ,也 不 断 更 新 。 现 在 有 ) )AD)A%& E FG(!’;; ,这几种版本。;)A%&;)AGEBE_3 .:;.: 在串口通讯中的应用情况! I S >GEBFGBH 9%&K W H0YEBK PPK W 1=0YEB#>GEEB_K W % 3:/]-:下面的两个例子分别使用 控件和 "#$%&&!’ IS 延时等待@HBB PP 3 4 4 ]’函数,用串口进行自发自收。这样,我们就会对它 * ()读取数据部分4 4 ()们有一个概念。试验前请注意将串口以 芯为例的 + 0;;7 ?HDc3 ()()发送引脚脚和接收引脚脚短接起来。 !’ @OO $#3 /;"(使用 函数进行串口通讯 , * 其操作如下,首先!- ()ab 0O8 G_2A?? PP 3 \-要打开串口,然后配置相应的 I d &B&#BE W G_2A?K? YEB%&&8>>%> 9%&K W 1=8>>%>K W $# 3 4 4 ///片段。此片段可运行在任何一个函数中。 缓冲区中等待的数据个数 I S SI G? 1=8^ED# W 8 TM>%>3 U I f G# G i _ K _0YEBBDEBFGBH "-K 9///;处理得到的值 允许读写串口L868<*/M<8(. N L8 68<*/M:<*O8K 4 4 K V PK 串口需要在独享方式下打开 4 4 V 用 是缺省的安全性属性 Q77K 4 4 Q77 K 66I SG? 1=8^E"D#‘ W 8 TM8<< 表示不要创建而是打开已有的8M8R*@O*K 4 4 K )66L;U 错误 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 4 4 PK 同步方式不发送完,或不接收完 4 4 K V 文件操作用,串口用 6Q77 4 4 Q776V S 3 使用 控件进行通讯!, "@%&&! ’ /’I S G? 9/%& C C *6T(7*.M5(6.78MT(7Q8 因为 控件不是 的普通控 "@/%&&!’ :G_1%=# U 件,所以在 中使用之前,首先要加入它。方法有两T /S 获得出错的原因 I 1=8>>%> C LBE7D#E8>>%> 3 4 4 种:一、在对话框中单击鼠标右键,选中 *_#B>E ($jV 设置串口部分4 4 菜单,在跳出的对话框中选中 EG^BR %_E>%H "G$>%#%?E/I S 得到当前串口设置, LBE%&&@EDEB 9%&K W1 $2 3 4 4 //,则控件就加入对 单击 %&&A_G$DEG%_# %_E>%HK k//;放到 中1$2 话框中。二、单击主菜单中的 选中 >%lB$E K 11 E% )(波特率1$2, 0DA1%lB$E %&%_B_E# D_1)/]数据位1$2, 0YEB@GZB C [3 4 4 奇偶校验1$2, D>GEY C 6<*O3 4 4 );)(\ 在弹出的对话框中双击 %_E>%H#K B1 $j/(停止位1$2, @E%]0GE# C ;68@O;)0*O3 4 4 , 选 中 EG^BR %_E>%H#"G$>%#%?E %&&A_G$DEG%_#//I S 设置串口参数@BE%&&@EDEB 9%&K W 1$2 3 4 4 // ,单击 ,应用程序向导就会为你添 %_E>%H*_#B>E"F //用事件驱动来读取端口的模式4 4 为 创建一个事件T8<7())8 %3 4 4 DGE %&&8^B_E ;.:/加 类,当然你也可以改成你自己喜欢的@%&& /"/ < 1=8^ED#3 "‘.:;.类名。不论用哪种方法加入它之后,再通过 的类 T / 向导为控件创造一个实例。假定控件实例的名字叫做 I @BE%&&D# 9%&K 8TM8<< N /"‘/?@A$$B## C 。通过这实例就可对控件设置属性、调用方 &M$%&&错误或有数据到均可引发 S 8TMBDEB8^B_E /6Q77K F7@8K F7@8K 设置参数部分((4 4 S 6Q77 3 S I&M$%&&, @BE%&&)%>E - 3 设 置 要 操 作 的 /4 4 发送数据部分4 4 端口号 ab O8 HYEB PP 3 00-\]I S SI G? f M$%, BE%>EB_ &&&L);]打开串口 4 4 3 ."#$% &($*(+ 012 4 !!!’),’-/为每一个串口添加一个控件。控件的源 B&H$Y9 !!. 8 3 设置端口8 "#$% &’(&’((5-67 9:;;< -< =< >4 ? ? !!!码是不公开的,所有的修改必须在它的外面,以至于 .3 "#$% &(@A(B$C > 4 !!!’-,’设置缓冲区输入 ? ? 代码的重用性比较差。 方式为二进制 编程复杂性:% Y .3 !"#$!!% &’(@-,A(D’- ; 4 每次 读 取 全 部缓 ? ? 从上面的这两个例子可以看出,用 函数编写 K)@ 冲区的内容 通讯程序,涉及的函数比较多,一次代码编写比较复 . 3 "#$% E(@A( 4 !!!’-,先预读缓冲区以清 ? ? 除残留数据 杂 , 而控 件 则 比 较 简 单 。 而 且&H$Y9 B!! 发送数据部分? ? 控件的文档说明详细,在 中文版中, B&H$Y9 UI !!.3 "#$% &’(0/F*’7F$GC >> 4 !!! 还可以找到中文的使用帮助。控件的可靠性很高,调设 置 接 收 缓 冲 区 达 ? ? 到多少个字符后,产生事件 试时完全可以不考虑这一部分的错误的可能,这又能 HJ(K**LJ L**LJ4 I’节省一部分时间。所以在开发周期上,&H$Y9 B!! 控件远胜过 函数。至今为止,使用 函数编写 K)@ K)@ 3 . L**LJ% 0’$M’KGG 4 清空数组 !? ? 通讯类的实际工作也做的比较多,已经出现了一些功 .3 L**LJ% &’(&5N’ >;; 4 能强大的共享类,这就使我们不需要重头做起,降低 . 3O$* 5( 5 P 4 5 Q> 4 5 R R -;;; . 3 S L**LJ% 7’(L( 5<> ; 4 了 首 次 编 写 时 的 难 度 ,。 比 如F((Z ? #$ C? 6 AV ,’T 中 的 *A% CMG$*% #$ ? ($*W ? 7 *5LG$*(% 7F(G ,-,’’’!’[’!. . 3 3#$% &(A(A( HGUL*5L( L**LJ 4 "’+,+’-!!! 接收数据部分? ? 一个串口通讯类就值得参考。 双击对话框中 控件,产生一个控件的 HB&H$ $V -!!移植性:% : 事件。在里面如下添加代码,#$!! 函数是各种 编程工具所共同支持 K)@ \5-C$[7 . 3 3 判 断 是 否. 5O !"#$!!% E’(H$!!2M’-( P P 9 ? ? 的,但是各种语言可能有不同的表示方法,所以,K)@ 事件#$!2M0’#’5M’ S 3 串口通讯类只可用 在其他 . 的 平台7F$*( !"75N’ P !"#$!!% E’(@-IAOO’*H$A-( 4 [5-C$[7 H R R . 3 5O " 75N’ P P >> ? ?!上,如 。如果是在 中开发程序, H R R ]A5GC*UH R R ’ 并用到了某些 中已经包装过的类或数据,则不 B^H S . 3 #$% &(@A(D W 4 "’-,’-!!!能直接在其他编程环境下运行。函数编出来的类 K@ )读取接收到的数据? ? 是源代码级的共享,而 控件是基于二进制代 K#(5M’_ 3 . UK0@KX M07$7 P #$% E(@A( 4 /’,-’"’-,!!!码级的共享,所以可以在 ,,UI‘’G,F5H R R ]A5GC’* 处理接收到的数据? ? 中使用此控件,但是具体的实现代码则需要有所更 T 改。需要注意的是,因为不能确保每一台计算机上都 T 有 控件,所以在使用前要注意有个注册 &H$Y9 B!! 两者应用比较 的过程。这个工作可以在应用程序中做,也可以在用 : 于应用程序发布的安装程序中做。 性能 % > : 两者均可使用 码或二进制形式的数据。但 K&H@ @ 是如果使用的是 控件,无论是在 机 B&H$Y9 H !!)结论a 两者均可以使用文本或二进制数据。&H$Y9 B!!读取上传数据时还是在 机发送下行命令时,都只 H ) 控件能满足比较基本的需要,而且上手比较快,调试起能使用 数据类型。所以不论是 码,还UK0@KX K&H@ @ / 是二进制,发送前都要转换一下。如果下位机是单片来也方便。使用 函数编写的类自己扩展的余地大, K)@ 机,则在单片机的程序中不需要做其他额外的转换。 比较灵活,容易添加一些特定的功能。使用 函数则不需要做这种转换。K@ )我们认为,如果注重的是开发周期,请选用控件 扩展来进行串行通讯,如果注重的是功能强大,或有特殊 % 9 : 需要,请使用 函数。K@ )在使用 函数进行串口通讯时,常常用一个类 K)@ 参考文献来封装所有功能。一般说来,这个类除了初始化串 潘爱民、王国印译,技术内幕,>b U57ALG H R R LM5C c% ‘口,读写等基本功能外,还可以扩展的功能有,设置并 著,清华大学出版社*A6G557W5 d-检验校验码,使用多线程,对串口进行轮巡等。 . 3 9b B&X (F 5#*$7$O( CMG$* ($*W D5L*L*J ’’’,’-’]‘![ 控件也可以做到对串口进行轮巡,但要B&H$Y9 !!
本文档为【API函数和MSComm32控件在串行通讯中的应用比较】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_037433
暂无简介~
格式:doc
大小:24KB
软件:Word
页数:8
分类:生活休闲
上传时间:2017-10-01
浏览量:31