电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

vxWorks编程指南VIP免费

vxWorks编程指南_第1页
1/7
vxWorks编程指南_第2页
2/7
vxWorks编程指南_第3页
3/7
vxWorks 编程指南 一、官方的 Program Gu ide 位于安装目录下:\docs\vxworks\guide\index.html 二、常用的库: #i nclude "taskLib.h" #i nclude "msgQLib.h" #i nclude "semLib.h" #i nclude "ioLib.h" #i nclude "wdLib.h" #i nclude "logLib.h" #i nclude "socket.h" 三、IO 系统:ioLib.h 1、系统中的 IO 设备,包括键盘、串口、文件等,都用统一的接口访问。第一步通常先得到文件描述符,然后进行读写或者设置的工作,最后关闭该描述符。 creat:建立文件 open:得到文件或设备的描述符 read:读文件或设备 write:写文件或设备 ioctl:设置参数 close:关闭文件描述符 remove:删除文件 2、内存文件 memDrv( ) - 初始化伪内存设备 memDevCreate( ) - 建立伪内存设备 memDevCreateDir( ) - 建立一组伪内存设备 memDevDelete( ) - 删除伪内存设备 Init() { uchar_t buffer[1024]; int fd; memDrv( ); memDevCreate("/mem/mem1", buffer, sizeof(buffer)); if ((fd = open("/mem/mem1", O_RDWR, 0644)) != ERROR) { write(fd, &data, sizeof(data)); ... ... close(fd); } memDevDelete("/mem/mem1"); } 3、通过 Select 函数实现多个 IO 监听:selectLib.h 当等待多个 IO 时,我们可以使用 Select 函数,fd 为文件描述符: int select( int width, fd_set * pReadFds, fd_set * pWriteFds, fd_set * pExceptFds, struct timeval * pTimeOut ) 还有几个宏: FD_SET(fd, &fdset) 设置 fd 的监听位 FD_CLR(fd, &fdset) 清除 fd 的监听位 FD_ZERO(&fdset) 清除所有监听位 FD_ISSET(fd, &fdset) fd 是否有数据 例子,其中 MAX 意为取最大值: Init() { struct fd_set readFds; int fds[4]; int width; fds[0] = open(..);... ...;fds[3] = open(..); width = MAX(fds[0], ... ... , fds[3])+1; FD_ZERO(&readFds); FD_SET(fds[0], & readFds);... ...; FD_SET(fds[3], & readFds); if (select(width, &readFds, NULL, NULL, NULL) == ERROR) { close(fds[0]); ... ...; close(fds[3]); return; } for(i=0; i if (FD_ISSET(fds[i], &readFds)) { ... ...; } } } 四、多任务环境的编程: 1、任务控制:taskLib.h taskSpawn( ) - 创建...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

vxWorks编程指南

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部