基于卡尔曼滤波的目标跟踪研究.doc

上传人:b**** 文档编号:14733862 上传时间:2023-06-26 格式:DOC 页数:23 大小:653.50KB
下载 相关 举报
基于卡尔曼滤波的目标跟踪研究.doc_第1页
第1页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第2页
第2页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第3页
第3页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第4页
第4页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第5页
第5页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第6页
第6页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第7页
第7页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第8页
第8页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第9页
第9页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第10页
第10页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第11页
第11页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第12页
第12页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第13页
第13页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第14页
第14页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第15页
第15页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第16页
第16页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第17页
第17页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第18页
第18页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第19页
第19页 / 共23页
基于卡尔曼滤波的目标跟踪研究.doc_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于卡尔曼滤波的目标跟踪研究.doc

《基于卡尔曼滤波的目标跟踪研究.doc》由会员分享,可在线阅读,更多相关《基于卡尔曼滤波的目标跟踪研究.doc(23页珍藏版)》请在冰点文库上搜索。

基于卡尔曼滤波的目标跟踪研究.doc

毕业设计

设计题目:

基于卡尔曼滤波的目标跟踪研究

姓名

XXX

院系

信息与电气工程学院

专业

电气工程及其自动化

年级

XXXX级

学号

XXXXXXXXX

指导教师

周XX

2012年4月24日

独创声明

本人郑重声明:

所呈交的毕业论文(设计),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。

尽我所知,除文中已经注明引用的内容外,本论文(设计)不含任何其他个人或集体已经发表或撰写过的作品成果。

对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。

此声明的法律后果由本人承担。

作者签名:

二〇一年月日

毕业论文(设计)使用授权声明

本人完全了解鲁东大学关于收集、保存、使用毕业论文(设计)的规定。

本人愿意按照学校要求提交论文(设计)的印刷本和电子版,同意学校保存论文(设计)的印刷本和电子版,或采用影印、数字化或其它复制手段保存论文(设计);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布论文(设计)的部分或全部内容,允许他人依法合理使用。

(保密论文在解密后遵守此规定)

论文作者(签名):

二〇一年月日

目录

引言

1.绪论

1.1研究背景

1.1.1卡尔曼滤波提出背景

1.1.2应用范围

11.2本文研究的主要内容

2

2.初步认识卡尔曼滤波

2

2.1关于卡尔曼

2.2滤波及滤波器问题浅谈

2

2.3卡尔曼滤波起源及发展

3.估计原理和卡尔曼滤波

2

4.卡尔曼滤波的实现

4.1卡尔曼滤波的基本假设

5

4.2卡尔曼滤波的特点

5

4.3卡尔曼滤波基本公式

6

4.4卡尔曼滤波参数的估计和调整

5.卡尔曼滤波的相关知识

5.1

8

5.2

8

5.3

9

6.卡尔曼滤波器的设计

7.目标跟踪模型的建立

8.结合数学模型进行matlb编程

9.目标跟踪仿真

10.结论

11

11.参考文献

11

12.致谢

12

13

15

16

鲁东大学毕业设计

基于卡尔曼滤波的目标跟踪研究

杨倩倩

(信息与电气工程学院电气工程及其自动化2008级2班083515586)

摘要:

卡尔曼滤波是Kalman在线性最小方差估计的基础上,提出的在数学结构上比较简单的而且是最优线性递推滤波方法,具有计算量小、存储量低,实时性高的优点。

在很多工程应用中都可以找到它的身影,包括航空器轨道修正、机器人系统控制、雷达系统与导弹追踪等。

利用卡尔曼滤波预测物体移动的速度、角度,确定物体下一时刻的位置,控制摄像机跟踪物体。

同时,卡尔曼滤波也是控制理论以及控制系统工程中的一个重要话题,具有重要的工程实践意义。

此论文主要是通过介绍卡尔曼滤波的原理,结合实际建立卡尔曼滤波数学模型,设计关于目标追踪的卡尔曼滤波器。

关键词:

卡尔曼滤波;目标跟踪;最优

ResearchonObjectTrackingBasedonKalmanFilter

YangQianqian

(CollegeofInformationandElectricalEngineering,ElectricalEngineeringandAutomation,Class2Grade2008,083515586)

Abstract:

KalmanFilteriseasyandoptimalLinearrecursivefilteringmethodInthemathematicalstructure,whichisraisedbyKalmanbasedonlinearminimumvarianceestimation.Ithastheadvantagesofsmallamountofcalculation,lowstoragecapacityandhighreal-time.Itcanbefoundinmanyengineeringapplication,includingaircraftrailcorrection,robotcontrolsystem,radarandmissiletrackingsystem,etc.UsingKalmanfiltertopredicttheobjectmovingspeed,angle,identificationofobjectsinthenexttimelocation,controllingthecameratrackingobject.Atthesametime,Kalmanfilterisanimportanttopicofcontroltheoryandcontrolengineeringwithimportantpracticalsignificanceforengineering.ThispapermainlyintroducestheprincipleofKalmanfilter,combinedwithrealitytoestablishKalmanfiltermathematicalmodeltodesignobjecttrackingaboutthekalmanfilter.

KeyWords:

KalmanFilter;ObjectTracking;Optimal;

引言

本文首先介绍了卡尔曼滤波的基本原理,分析现有的跟踪算法,重点讨论卡尔曼滤波算法,行驶中的汽车所处的道路环境是相当复杂的,而安装车载雷达的汽车本身也是不时的处于机动状态之中,因此车载雷达所探测的目标也是在不停的变化当中,邻近车道上的车辆,车道间的护拦,路旁的树木和各种标识牌以及空中和远处的高大建筑等物体会产生虚警问题。

结合路面目标跟踪的实际,卡尔曼滤波是以最小均方误差为估计的最佳准则,来寻求一套递推估计的算法,其基本思想是:

采用信号与噪声的状态空间模型,利用前一时刻的估计值和现时刻的观测值来更新对状态变量的估计,求出现在时刻的估计值。

进而建立数学模型并进行matlab编程仿真最后的出结论,具有一定的实践意义。

1绪论

1.1研究背景

1.1.1卡尔曼滤波提出背景

关于最优估计问题,在20世纪40年代初,维纳提出最优线性滤波,称为维纳滤波。

这种滤波是在信号和干扰都表示为有理谱密度的情况下,找出最优滤波器,使得实际输出与希望输出之间的均方误差最小。

维纳滤波问题的关键是推导出维纳-霍夫积分方程,解这一积分方程可得最优滤波器的脉冲过渡函数,从脉冲过渡函数可得滤波器的传递函数。

通常解维纳-霍夫积分方程是很困难的,即使对少数情况能得到解析解,但在工程上往往难以实现。

特别对于非平稳过程,维纳滤波问题变得更为复杂。

Wiener滤波要求信号是平稳随机过程,要求存贮全部历史数据,且滤波器是非递推的,计算量和存贮量大,不便于实时应用,基于以上缺点,改进滤波器设计就有了更进一步的要求。

1960年,卡尔曼提出了在数学结构上比较简单的最优线性滤波方法,实质上这是一种数据处理方法。

维纳滤波属于整段滤波,即把整个一段时间内所获得的测量数据存储起来,然后同时处理全部数据,估计出系统状态。

卡尔曼滤波是递推滤波,由递推方程随时间给出新的状态估计。

因此对计算机来说,卡尔曼滤波的计算量和存储量大为减少,从而比较容易满足实时计算的要求。

因而卡尔曼滤波在工程实践中迅速得到广泛应用。

1.1.2应用范围

卡尔曼滤波器最初是专为飞行器导航而研发的,目前已成功应用在许多领域中。

卡尔曼滤波器主要用来预估那些只能被系统本身间接或不精确观测的系统状态。

许多工程系统和嵌入式系统都需要卡尔曼滤波。

比如,在雷达中,人们感兴趣的是跟踪目标,但目标的位置,速度,加速度的测量值往往在任何时候都有噪声。

卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置的好的估计。

这个估计可以是对当前目标位置的估计(滤波),也可以是对于将来位置的估计(预测),也可以是对过去位置的估计。

卡尔曼滤波器是一个最优化自回归数据处理算法(optimalrecursivedataprocessingalgorithm),它的广泛应用已经超过30年,包括航空器轨道修正、机器人系统控制、雷达系统与导弹追踪等。

近年来更被应用于组合导航与动态定位,传感器数据融合、微观经济学等应用研究领域。

特别是在图像处理领域如头脸识别、图像分割、图像边缘检测等当前热门研究领域占有重要地位。

基本卡尔曼滤波(KF)器限定在线性的条件下,在大多数的非线性情形下,我们使用扩展的卡尔曼1滤波(EKF)器来对系统状态进行估计。

随着卡尔曼滤波理论的发展,一些实用卡尔曼滤波技术被提出来,如自适应滤波,次优滤波以及滤波发散抑制技术等逐渐得到广泛应用。

其它的滤波理论也迅速发展,如线性离散系统的分解滤波(信息平方根滤波,序列平方根滤波,UD分解滤波),鲁棒滤波(H∞波)。

卡尔曼滤波作为一种数值估计优化方法,与应用领域的背景结合性很强。

因此在应用卡尔曼滤波解决实际问题时,重要的不仅仅是算法的实现与优化问题,更重要的是利用获取的领域知识对被认识系统进行形式化描述,建立起精确的数学模型,再从这个模型出发,进行滤波器的设计与实现工作。

由于其具有实时递推、存储量小和简单易行的特点,在工程应用中受到了重视,广泛应用于信号处理、控制、通信、航天、制导、目标跟踪、石油勘探、故障诊断、卫星测控、GPS定位、检测与估计、多传感器信息融合、机器人及生物医学等领域。

卡尔曼滤波器应用领域:

·自动驾驶仪

·动态定位系统

·经济学,特别是宏观经济学,时间序列模型,以及计量经济学

·惯性引导系统

·雷达跟踪器

·卫星导航系统

1.2本文研究的主要内容

此论文主要是通过详细介绍卡尔曼滤波的发展背景和应用原理,并介绍各种最优估计原理和不同的滤波器,着重分析卡尔曼滤波的优点和和在工程实践中的优良特性,结合实际建立卡尔曼滤波数学模型,对数学模型进行分析计算,结合数学模型进行matlb编程,分析改进程序并进行仿真应用,设计关于目标追踪的卡尔曼滤波器。

2初步认识卡尔曼滤波

2.1关于卡尔曼

鲁道夫·卡尔曼(RudolfEmilKalman),匈牙利裔美国数学家,1930年出生于匈牙利首都布达佩斯。

1953年于麻省理工学院获得电机工程学士,翌年硕士学位。

1957年于哥伦比亚大学获得博士学位。

1964年至1971年任职斯坦福大学。

1971年至1992年任佛罗里达大学数学系统理论中心(CenterforMathematicalSystemTheory)主任。

1972起任瑞士苏黎世联邦理工学院数学系统理论中心主任直至退休。

现居住于苏黎世和佛罗里达。

2009年获美国国家科学奖章。

2.2滤波及滤波器问题浅谈

估计器或滤波器这一术语通常用来称呼一个系统,设计这样的系统是为了从含有噪声的数据中提取人们感兴趣的,接近规定质量的信息。

由于这样一个宽目标,估计理论应用于诸如通信、雷达、声纳、导航、地震学、生物医学工程、金融工程等众多不同的领域。

例如,考虑一个数字通信系统,其基本形式由发射机、信道和接收机连接组成。

发射机的作用是把数字源(例如计算机)产生的0、1符号序列组成的消息信号变换成为适合于信道上传送的波形。

而由于符号间干扰和噪声的存在,信道输出端收到的信号是含有噪声的或失真的发送信号。

接收机的作用是,操作接收信号并把原消息信号的一个可靠估值传递给系统输出端的某个用户。

最初滤波器是指某种具有选频特性的电子网络,一般由线圈、电容器和电阻器等元件组成。

滤波器将使它所容许通过的频率范围(即通带)内的电信号产生较小的衰减,而使它所阻止通过的频率范围(即阻带)内的电信号产生较大衰减。

划分通带和阻带的频率,称为滤波器的截止频率。

按容器通过的频率范围,滤波器可分为低通,高通,带阻和带通滤波器等。

具有选频特性的串联或并联谐振回路,是一种常用的滤波器。

收音机或其他差式接收机中的中频放大器,也是一中滤波器。

也是一种滤波器。

各级中频放大器中回路靠放大器和变压器来耦合,形成一定的通带和阻带。

信号在通过中放级时,通带内的成分将被放大,而阻带内的成分将大大衰减,而且对通带内的信号还有放大作用。

按组成电路的元件,滤波器可分为LC、RLC、RC、晶体和陶瓷滤波器等。

我们也可以用机械元件代替电子元件,制成机械式滤波器,或利用物质的铁磁共振原理制成可点电调谐的滤波器。

此外,调幅波接收机中的包络是一种非线性滤波器。

非线性滤波器实例还有:

自动增益控制电路,调频接收机中的锁相环以及近年来在组合音响装置中用来提高信噪比的Dobly系统等。

上面所举的这些滤波器,不论是线性还是非线性的,由于都是用来对模拟信号进行处理,故统称为模拟滤波器或经典滤波器。

随着集成电路技术的出现,特别是数字电子计算机的广泛应用,模拟滤波器开始向数字滤波器方向发展。

A/D或D/A转换器,移位寄存器。

只读存储器以及微处理机这样一些与传统的模拟滤波电路元件截然不同的电路元件和模块被广泛应用于数字滤波电路中,以适应离散数字信号处理的要求。

即使是模拟信号,也可通过A/D转换先变成离散的数字信号,经相应的处理后再恢复成模拟信号。

与模拟滤波器相比,数字滤波器不仅可使体积缩小,成本降低,而且还有如下优点:

第一,滤波器的参数可根据对滤波器性能指标的要求来设定,从而具有较高的精度;第二,滤波器的参数很容易重新设定或使具有自适应性;第三,有些采用微处理机的数字滤波器可实现对微处理机的分时使用,从而大大提高工作效率。

经典滤波器的另一发展方向,就是利用统计理论来处理滤波问题,由此,产生了统计滤波器。

从经典滤波的观点来看,有用信号和噪声信号是分布在不同频带之内。

因此,我们可用具有一定选频特性的经典滤波网络把噪声尽可能地滤除,而保留畸变不大的有用信号。

但是,我们所遇到的信号和噪声有时可能是随机的,其特性往往只能从统计的意义上来描述。

例如,在导弹控制系统中,由于目标运动的随机性,目标的位置和速度都是随机的。

此外,测量装置也会有随机噪声。

此时,我们就不可能采用一般的经典滤波器把有用信号从测量结果中分离出来,而只能用统计估算方法给出有用信号的最优估计值。

从统计的观点来看,一个滤波器的输出越接近实际有用信号,这个滤波器就越好。

也就是说,最优滤波器是输出最接近于实际有用的信号的滤波器。

随着通信系统复杂度的提高,对原消息信号的还原成为通信系统中最为重要的环节,而噪声是接收端需要排除的最主要的干扰,人们也设计出了针对各种不同条件应用的滤波器,其中最速下降算法是一种古老的最优化技术,而卡尔曼滤波器随着应用条件的精简成为了普适性的高效滤波器。

2.3卡尔曼滤波起源及发展

随机信号没有既定的变化规律,对它们的估计也不可能完全准确,所谓最优估计也仅仅是指,在某一准则下的最优。

根据不同的最优准则,可获得随机信号的不同最优估计。

使贝叶斯风险达到最小的估计为贝叶斯估计;使关于条件概率密度的似然函数达到极大的估计为极大似然估计;使验后概率密度达到极大的估计为极大验后估计;使估计误差的均方误差达到最小的估计为最小方差估计,若估计具有线性形式,则估计为线性最小方差估计,卡尔曼滤波即属此类估计。

卡尔曼滤波理论的创立是科学技术和社会需要发展到一定程度的必然结果。

早在1795年,高斯(KarlGauss)为测定行星运动轨道而提出了最小二乘估计法。

本世纪40年代,为了解决火力控制系统精确跟踪问题,维纳(N.Weaner)于1942年提出了维纳滤波理论。

维纳根据有用信号和干扰信号的功率谱确定出线性滤波器的频率特性,首次将数理统计理论与线性系统理论有机的联系在一起,形成了对随机信号作平滑、估计或预测的最优估计新理论。

比维纳稍早,前苏联科学家戈尔莫克罗夫(A.N.Kolmogorov)于1941年也曾提出过类似的理论。

维纳给出了由功率谱求解维纳滤波器频率特性闭合解的一般方法,包括对功率谱的上、下平面分解及傅里叶变换和反变换,运算繁杂,解析求解十分困难。

1950年,伯特和香农给出了功率谱为有理谱这一特殊条件下,由功率谱直接求取维纳滤波器传递函数的设计方法,这一方法简单易行,具有一定的工程实用价值。

维纳滤波的最大缺点是适用范围极其有限,它要求被处理信号必须是平稳的,且是一维的。

人们试图将维纳滤波推广到非平稳和多维的情况,都因无法突破计算上的困难而难以推广和应用。

采用频域设计法是造成维纳滤波器设计困难的根本原因。

因此人们逐渐转向寻求在时域内直接设计最优滤波器的新方法,其中卡尔曼的研究最具有代表性,他提出的递推最优估计理论也因此而被称为卡尔曼滤波。

由于采用了状态空间法描述系统,算法采用递推形式,所以卡尔曼滤波能处理多维和非平稳的随机过程。

卡尔曼滤波理论一经提出,立即受到了工程界的重视,而工程应用中遇到的实际问题又使卡尔曼滤波的研究更加深入和完善。

1959年起,美国太空署即NASA开始研究载人太空船登月方案,当时提出了两个主要问题:

①中途导航和制导;②液体燃料助推器大挠度条件下的自动驾驶问题。

因这两项研究的工作量都很庞大,所以主要研究前者,即宇宙飞船的测轨问题。

导航问题中主要解决太空船运动状态的估计。

估计方法曾试图采用递推加权最小二乘和维纳滤波,均因精度满足不了要求和计算过于繁杂而不得不放弃。

1960年秋,卡尔曼在NASA埃姆斯研究中心访问时,发现他的方法对于解决阿波罗计划的轨道预测很有用,后来阿波罗飞船的导航电脑使用了这种滤波器。

卡尔曼滤波比维纳滤波的应用范围广,设计方法也简单易行得多,但它必须在计算机上执行,而60年代初,无论是速度、字长、容量,计算机还处于低水平阶段。

为了适应当时的技术水平,避免由于字长不够产生的舍入误差引起卡尔曼滤波的计算发散,Bierman,Carlson和Schmidt等人提出了平方根滤波算法和UDU分解滤波算法,以确保卡尔曼滤波增益回路中的滤波方差阵始终正定。

卡尔曼最初提出的滤波基本理论只适用于线性系统,并且要求量测也必须是线性的。

在之后的10多年的时间里,Bucy,Sunahara等人致力于研究卡尔曼滤波理论在非线性系统和非线性量测情况下的推广,拓宽了卡尔曼滤波理论的适用范围。

卡尔曼滤波是一种有着相当广泛应用的滤波方法,但它既需要假定系统是线性的,又需要认为系统中的各个噪声与状态变量均呈高斯分布,而这两条并不总是确切的假设限制了卡尔曼滤波器在现实生活中的应用。

扩展卡尔曼滤波器(EKF)极大地拓宽了卡尔曼滤波的适用范围。

EKF的基本思路是,假定卡尔曼滤滤对当前系统状态估计值非常接近于其真实值,于是将非线性函数在当前状态估计值处进行台劳展开并实现线性化。

另一种非线性卡尔曼滤波叫线性化卡尔曼滤波。

它与EKF的主要区别是前者将非线函数在滤波器对当前系统状态的最优估计值处线性化,而后者因为预先知道非线性系统的实际运行状态大致按照所要求、希望的轨迹变化,所以这些非线性化函数在实际状态处的值可以表达为在希望的轨迹处的台劳展开式,从而完成线性化。

不敏卡尔曼滤波器(UKF)是针对非线性系统的一种改进型卡尔曼滤波器。

UKF处理非线性系统的基本思路在于不敏变换,而不敏变换从根本上讲是一种描述高斯随机变量在非线性化变换后的概率分布情况的方法。

不敏卡尔曼滤波认为,与其将一个非线性化变换线性化、近似化,还不如将高斯随机变量经非线性变换后的概率分布情况用高斯分布来近似那样简单,因而不敏卡尔曼滤波算法没有非线性化这一步骤。

在每一定位历元,不敏卡尔曼滤波器按照一套公式产生一系列样点,每一样点均配有一个相应的权重,而这些带权的样点被用来完整地描述系统状态向量估计值的分布情况,它们替代了原先卡尔曼滤波器中的状态向量估计值及协方差。

不敏卡尔曼滤器让这些样点一一经历非线性状态方程与测量方程,然后再将这些经非线性变换后的样点按照它们的权重而综合出对当前时刻的系统状态向量估计值。

多态自适应(MMA)卡尔曼滤波器是一种受到广泛关注的滤波器,它由好多个并联、同时运行的卡尔曼滤波器组成。

在这组卡尔曼滤波器中,每一个滤波器对未知的滤波参数分别做出相互不同的假设,然后各自按照自己的模型假设进行滤波计算,而多态自适应滤波器最后将它们对系统状态的各个估计值进行加权,并以此作为最优估计值输出。

3估计原理和卡尔曼滤波

2.2DS18B20的通信协议

2.3DS18B20的测温原理

4编程软件VB的特点

VB(VisualBasic)之所以受到广大编程者的喜爱,是由于它强大的功能:

(1)可视化编程:

最直观的编程方法,程序人员只需绘制界面,无需编程,VB自动产生界面代码,就可以完成许多步骤。

这样大大的提高了程序设计的效率。

这些在以前的编程语言下是要经过相当复杂的工作的。

(2)结构化的程序设计语言:

VB具有丰富的数据类型,是一种符合结构化设计思想的语言,简单易学。

此外VB作为程序设计语言还有其独特的一面。

(3)面向对象:

VB采用了面向对象的程序设计思想。

把复杂的程序设计问题分解为一个个简单的能够完成独立功能的对象集合,就是此程序设计最基本的思想。

所谓“对象”就是一个可操作的实体,如窗体、窗体中的命令按钮、标签、时钟、文本框等。

面向对象的编程就好像搭积木一样,程序员可根据程序和界面设计的要求,直接在屏幕上“画”出窗口、菜单、按钮等不同类型的对象,并在属性窗口改写每个对象属性,从而达到所要求的目的。

(4)强大的数据库访问功能。

(5)多个应用程序向导,支持动态交换、动态链接技术,等等。

4.1编程软件VB中MSComm控件的介绍

VB开发串口通信程序利用VB自身提供的控件MSComm控件来实现。

MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。

MSComm(MicrosoftCommunicationsControl)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。

4.1.1MSComm控件两种处理通讯的方式

MSComm提供两种处理通讯的方法:

事件驱动方式和查询方式。

该论文所采用的方法是事件驱动方式,在初始化代码中将Rthreshold设置为1。

这样接收缓冲区中接收到一个字符,就产生一次OnComm事件。

事件驱动通讯是一种功能很强的处理串口活动的方法,它是利用MScomm控件的OnComm事件触发机制来完成的。

在大多数情况下,用户需要获知事件发生的时间,例如,在串口接收缓冲区中有字符,或者CD(CarrierDetect)或RTS(RequestToSend)线上一个字符到达或一个变化发生时。

在这些情况下,可以利用MSComm控件的OnComm事件捕获并处理这些通讯事件。

OnComm事件还可以捕获和处理通讯中的错误。

在编程过程中,就可以在OnComm事件处理函数中加入自己的处理代码。

这种方法的优点是程序响应及时,可靠性高。

每个MSComm控件对应着一个串行端口。

查询法是通过周期性地读取缓冲区的信号来发现是否有事件发生并进行处理的方法

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

当前位置:首页 > 求职职场 > 简历

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

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