基于vxworks操作系统的串口通信程序设计与实现

基于vxworks操作系统的串口通信程序设计与实现

ID:33693939

大小:84.53 KB

页数:5页

时间:2019-02-28

基于vxworks操作系统的串口通信程序设计与实现_第1页
基于vxworks操作系统的串口通信程序设计与实现_第2页
基于vxworks操作系统的串口通信程序设计与实现_第3页
基于vxworks操作系统的串口通信程序设计与实现_第4页
基于vxworks操作系统的串口通信程序设计与实现_第5页
资源描述:

《基于vxworks操作系统的串口通信程序设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8卷第2期江右论坛Vol.8No.2102007年5月JIANGYOUFORUMMay.2007文章编码1005-3840200703-0003-04基于Vxworks操作系统的串口通信程序设计与实现刘亚芬上海师范大学,上海200234摘要结合嵌入式实时操作系统VxWorks实现风洞测控系统的实际应用,以其中的串口通信为例讨论了在VxWorks下实现串口通信的关键技术给出了基本原理环境配置和程序示例关键词VxWorks实时操作系统嵌入式操作系统串行通信1前言目前市场上比较著名的实时操作系统有VxWorksPSOSNucleusQNXVRTXWindows

2、CEPalm0SLynx0S等其中VxWorks是一个具有微内核可裁剪的高性能强实时操作系统在实时操作系统市场上处于领先地位它以其良好的可靠性和卓越的实时性被广泛地应用在通信军事航空航天等高精尖技术及实时性要求极高的领域中如卫星通讯弹道制导飞机导航等在美国的F-16战斗机B-2隐形轰炸机和爱国者导弹上甚至火星探测器上都使用了VxWorks实时操作系统在嵌入式实时操作系统中使用串口通信不仅可扩展嵌入式设备通信能力而且可扩大其应用范围2VxWorks简介VxWorks是由wRS(windRiverSystemsInc)公司开发的一套具有微内核高性能可伸缩的实时

3、操作系统支持广泛的网络通信协议并能够根据用户的需求进行组合其开放式的结构和对工业标准的支持使开发者只需做最少的工作即可设计出有效的适合于不同用户要求的系统除了性能出众的操作系统之外wRS公司还提供了优秀的实时操作系统开发工具TornadoTornado由三个高度集成的部分组成Tornado工具一整套强有力的交叉开发工具VxWorks运行系统是运行在目标机上的高性能可裁剪的实时操作系统连接目标机和宿主机的通信选项加以太网串行线路在线仿真等Tornado能够支持WindowsUnix等流行的工作平台和PowerPCX86ARM等几乎所有的目标处理器所提供的工具

4、可用于所有目标机并具有两种调试模式(系统模式和任务模式)除了基本的功能和开发工具外Tornado还具有先进的系列网络产品极大地扩展了Tornado[1]的网络特性并增强了嵌人式微处理器的网络特性3串口通信基本原理串口在嵌入式系统当中是一类重要的数据通信接口其本质功能是作为CPU和串行设备间的编码转换器当数据从CPU经过串行端口发送出去时字节数据转换为串行的位在接收数据时串行的位被转换为字节数据应用程序要使用串口进行通信必须在使用收稿日期2007-05-2万方数据第三期基于Vxworks操作系统的串口通信程序设计与实现11之前向操作系统提出资源申请要求(打开

5、串口)通信完成后必须释放资源(关闭串口)串口通信的优点是开发简单在传输数据量不大要求速度不高而传输距离较大的通信场合得到广泛应用在VxWorks中将I/O系统设计成为任何类型的设备提供一个简单统一独立于设备的接口任何对于串口的操作都可以视为对一个文件的操作而不必了解串口设备或程序驱动实现的细节在串口通信软件的设计中当串口初始化完成后在使用之前利用open()打开相应串口然后进行配置VxWorks提供终端和伪终端设备驱动Tty驱动针对实终端pty针对仿真终端的程序Tty设备有两种操作模式raw模式和line模式在raw模式下每个刚从设备输入的字符对读者都是有

6、效的在line模式下所有输入字符被存储直到NEWLINE字符输入设[2]备选项字使用带FIOSETOPTIONS功能的ioctl()程序来设置配置完成后依据串口打开时的读写标志调用函数write()read()对串口进行只读操作只写操作或同时进行读写操作为提高数据接收的实时性可采用中断方式利用VxWorks提供的select函数的事件触发机制将读串口的任务阻塞使其一直等待数据当有数据来到的时候该任务会立刻自动响应提高系统的实时性4环境配置在本实时应用系统中采用486机作为目标机串口通信时目标机VxWorks系统启动盘的制作步骤(1)修改通用配置文件\To

7、rnadotargetconfigpc486config.h在config.h文件中加入以下宏定义#defineINCLUDE_WDB#defineINCLUDE_WDB_TTY_TEST#undefWDB_COMM_TYPE#defineWDB_COMM_TYPEWDB_COMM_SERIAL/*定义通信方式为串口联结*/#defineWDB_TTY_CHANNEL1/*通道号*/#defineWDB_TTY_BAUD9600/*串口速率可设置至38400*/#defineWDB_TTY_DEV_NAME"tyCo/1"#defineCONSOL

8、E_TTY0#defineDEFAULT_BOOT_LINE"fd

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。