豆搜网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > 互联网 > 实时操作系统VxWorks下实现串口通信的方法
免费下载此文档侵权投诉

实时操作系统VxWorks下实现串口通信的方法

实时操作系统VxWorks下实现串口通信的方法

莫进军

(江苏自动化研究所, 江苏 连云港 222006)

摘要:串口通信具有连接简单、使用方便灵活、数据传递可靠等优点,在工业监控、数据采集、实时控制系统中得到广泛应用。本文主要介绍了在VxWorks下实现串口通信的关键技术,给出了基本原理、环境配置和程序示例。

关键词:串口通信; VxWorks; 嵌入式操作系统

中图分类号:TP393 文献标识码:A 文章编号:1003-9767(2011)04-0169-02

串行接口在嵌入式系统中是一种重要的数据通信接口,其本质功能是作为CPU和串行设备间的编码转换器。在发送数据时,数据从CPU经串行端口,字节数据转换为串行的位;在接收数据时,串行的位转换为字节数据。应用程序在使用串口通信时,关键是使用之前向操作系统提出资源申请要求,使用结束后释放资源。在VxWorks环境中,对串口通信的开发方法有多种,可以实现不同程度的通信。

实时操作系统开发工具Tornado是一整套强有力的交叉开发工具,能够连接目标机和宿主机的通信选项,如以太网、串行线路等,能够支持Windows、VxWorks等流行的工作平台和PowerPC、ARM等目标处理器,提供的工具可用于目标机,并具有系统模式和任务模式两种调试模式。

2.1在程序中加入下列头文件#include <vxWorks.h>#include "strLib.h"#include <string.h>#include <sioLib.h>#include <ioLib.h>#include <stdio.h>#include <ioctl.h>#include <selectLib.h>#include "types/vxTypesOld.h"2.2 打开串口

int open_com1(void) //打开串口1函数{ int sfd;//串口设备文件描述符

sfd =open(”/tyCo/0”,0_RDWR,0);//打开串口并返回串口设备文件描述符

if(sfd ==ERROR) //如果不能打开串口1则打印出错信息printf("You can’t open port com1 !"); }

2.3 配置串口

int config_com1(void) //串口1配置函数

{ ioctl(sfd,FIOSETOPTIONS,OPT_LINE); //设置串口工作模式为行模式:LINE_MODE

ioctl(sfd,FIOBAUDRATE,9600); //设置串口波特率为9600bpsioctl(sfd,FIOFLUSH,0); //清空输入输出缓冲ioctl(sfd,SIO_HW_OPTS_SET,CS8|STOPB|PARENB|PARODD); //设置 8 位数据位,2位停止位,带校验位,奇校验}

2.4 串口接收数据

int accept _com1(void) //从串口1接收数据函数{ while(1)

{ char * accept _buf;

FD_ZERO(&fds_data);//位码置零

1. 开发串口通信软件的步骤

对串口通信的开发有一定的流程和方法,可以方便地实现通信软件的各种功能,但是各种方法都有各自的优势。按照通用的实现通信的流程,结合自己的编程思路把编制串行通信软件分为六个部分如下:

1.1 配置环境

修改通用配置文件\\Tornado\target\config\pc486\config.h;在Tornado下执行Project > Make PC486 > Common Targets > clean命令删除以前的文件,执行Project > Make PC486 > Boot Rom Targets > bootrom_uncmp命令编译生成bootrom_uncmp ;再选择VxWorks Target编译生成vxworks。

1.2 打开串口

在VxWorks中,将I/O系统设计成为任何类型的设备提供一个简单、统一、独立于设备的接口,任何对于串口的操作都可以视为对一个文件的操作,而不必了解串口设备或程序驱动实现的细节。

1.3 配置串口

VxWorks提供终端和伪终端设备驱动。Tty驱动针对实终端;pty针对仿真终端的程序。Tty设备有两种操作模式:raw模式和line模式。在raw模式下,每个刚从设备输入的字符对读者都是有效的;在line模式下所有输入字符被存储,直到NEWLINE字符输入。设备选项字使用带FIOSETOPTIONS 功能的ioctl()程序来设置。

1.4 读取串行端口信息

当串口发生EV XCHAR(接收到字符并放入一个输入缓冲区)消息后读取串口、数据传输错误处理、字符串处理如回车符、空格并相应转化成数据。

1.5 写串行端口信息

将要发送的信息写入串口,相应进行错误处理。1.6关闭串口

关闭事件,清除通信事件,丢弃通信资源并关闭。

2. 实现串口通信的方法

(下转第171页)

第1页

免费下载Word文档免费下载:实时操作系统VxWorks下实现串口通信的方法

(下载1-2页,共2页)

你可能喜欢

  • 串口通讯
  • 操作系统实现
  • 串口通信原理
  • 驱动程序
  • 华为ppt素材库
  • 网络应用
  • 精美PPT模板
  • 文件系统

热门文档

相关文档

站点地图 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.docsou.com All Rights Reserved.  手机版 email
返回顶部