首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

VxWorks特点及基本概念详解(9)

VxWorks特点及基本概念详解(9)

管道(Pipes)

管道对消息队列提供了一个可供选择的接口,VxWorks的I/O系统。管道是虚拟的I/O设备,由驱动PipeDrv管理。函数PipeDevCreate()创建一个管道设备,这个调用指定管道的名字,能被排列的最多的消息数,和每个消息允许的长度。

Status = PipeDevCreate ("/Pipe/Name", Max_msgs, Max_length);

被创建的管道是一个通常命名(Named)的I/O设备,任务能用标准的I/O函数打开,读,写管道,并能调用Ioctl例程。当任务试图从一个空的管道中读取数据,或向一个满的管道中写入数据时,任务被阻塞。和消息队列一样,ISR可以向管道写入,但不能从管道读取。

做为I/O设备,管道提供了消息队列所没有的重要特性,调用Select().
返回列表