Delphi实现远程串口的数据采集
日期:2007年7月23日 作者: 查看:[大字体 中字体 小字体]-
(2) 对该串口句柄对应的设备进行配置,如波特率、数据位、停止位、是否奇偶校验等。这部分首先使用GetCommState()函数得到当前的串口配置信息,将这些信息存放在一个DCB结构中,然后对该DCB结构里面的内容进行重新按要求设置,最后调用SetCommState()函数使修改的设置生效。
(3) 配置串口事件。SetCommMask()函数可以设置多个串口信息事件,其串口的信息事件可以是以下任意的组合:
EV_BREAK:在输入时Windows检测到中断;
EV_CTS :CTS信号改变状态;
EV_DSR :DSR信号改变状态;
EV_ERR :发生线状态错误;
EV_RING :检测到振铃指示;
EV_RLSD :接收线信号探测状态发生改变;
EV_RXCHAR:接收缓冲区里收到字符;EV_RXFLAG:收到事件字符,并放入接收缓冲区;
EV_TXEMPTY:输出缓冲区空。
(4) 创建串口监视线程监视串口事件。首先使用WaitForSingleObject()、WaitForCommEvent()、WaitForMultipleObjects()等等待函数对线程进行控制,当没有数据收发时,将线程阻塞,减少其CPU的资源占用;当有数据收发时,线程自动启动,完成数据的收发。最后调用CreateThread()函数启动线程。
(5) 串口使用结束,用CloseHandle()函数关闭串口,回收资源。
由此可见,利用Win32 API函数编写串口通信程序比较复杂,需要掌握大量的系统和通信知识,其优点是实现的功能强大,应用面广泛,适合编写较为复杂的地层次应用程序。
3. 使用MSComm控件进行串口编程
Microsoft Communication Control(MSComm)是Microsoft公司提供的Windows下串行通信编程的AcitiveX控件。该控件具有丰富的与串口通信密切相关的属性及事件,提供了一系列标准通信命令接口,可以用它创建全双工、事件驱动、高效实用的通信程序。MSComm控件通过串口传输和接收数据,为应用程序提供串行通信功能。
MSComm的主要属性及事件:
(1) CommPort:设置或返回串行端口号,缺省值1;
(2) Setting:设置或返回串口通信参数,格式为"波特率,奇偶校验位,数据位,停止位";
(3) PortOpen:打开或关闭串行端口;
(4) InBufferSize:设置或返回接收缓冲区的大小,缺省值为1024字节;
(5) InBufferCount:返回接收缓冲区内等待读取的字节数,可通过设置该属性为0来清空接收缓冲区;
(6) RThreshold:该属性为一阀值,它确定当接收缓冲区内的字节个数达到或超过该值后就产生代码为ComEvReceive的OnComm事件;
(7) SThreshold:该属性为一阀值,它确定当发送缓冲区内的字节个数少于该值后就产生代码为ComEvSend的OnComm事件;
(8) InputLen:设置或返回接收缓冲区内用Input读入的字节数,设置该属性为0表示Input读取整个缓冲区的内容;
(9) Input:从接收缓冲区读取一串字符;
(10) InputMode:返回从Input中取回的数据类型,可以是ANSI码和二进制数据数组; - 上一页 [1] [2] [3] [4] 下一页
-
- Delphi实现远程串口的数据采集 相关文章:
- ·非主流ps教程实用的技巧大全
- ·Fireworks教程 液体金属表面特效制作
- ·Fireworks教程:立体质感水晶的制作过程
- ·Windows Vista停止报告程序问题的技巧方法
- ·非主流ps教程:制作红绿色调效果
- ·Photoshop液化滤镜校正歪斜的人物头像教程
- ·CSS教程:CSS中的定位(position)
- ·Flash制作交互动画教程 星座查询器
- ·Photoshop教程 绘制可爱半透明圣诞帽
- ·Linux下限制Root用户进行远程登陆
- Delphi实现远程串口的数据采集 相关软件
- ·《QQ游戏2007》beta1安装程序
- ·怪叔叔WII游戏教程之六-勇者斗恶龙
- ·《风色幻想6》完整流程攻略
- ·PSP自动更换壁纸插件及教程
- ·PS教程
- ·传奇女子的冒险经历及心路历程《罪恶天使》
- ·潘多拉神奇电池记忆棒制作必要程序
- ·名人讲述自己的读书历程:《与名人一起读书》
- ·卧底警察心路历程和传奇见闻:《卧底》
- ·PS文字特效教程(全7辑)6-7
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:用Delphi制作动态菜单
精品推荐
热点TOP10
- ·Delphi下的ADO使用方法!
- ·在Delphi中实现数据分析模块的动态报表
- ·在Delphi中控制扫描仪
- ·用拼音首字符来实现检索功能
- ·让Delphi的DBGrid支持鼠标轮
- ·自 动 隐 藏 的 声 象 按 钮
- ·OpenGL简介
- ·用Delphi制作动态有声标签
- ·从 实 例 看 Delphi 4 中 的 动 态
- ·Delphi中为DBGrid控件添加色彩
- ·常用的BCB & Delphi 函数
- ·产生不重复随机数的简便算法
- ·陈经韬2002原创资料
- ·Delphi2005试用版安装指南
- ·Delphi中ListBox控件的六种特效
- ·第三方控件使用方法
- ·关于SMTP和POP3使用及关于客户-服务端的自动连线问题
- ·关于MP3中的ID3V2格式探讨及我写的ID3V2读取源码
- ·监视打印机部分线程内容
- ·获取其他进程中ListView的文本
