WINCE系统IO驱动说明

   2013-03-25 工控之家网工控之家710
  1. 设备名称:GPIO,设备驱动文件名是GPIOnnnnxxxxxx.dll, nnnn是产品型号,xxxxxx是驱动文件生成日期
  2. 本驱动能够管理DI、DO、AI、AO、PI、PO、运行指示灯、告警指示灯、蜂鸣器。运行指示灯、告警指示灯、蜂鸣器的IO类型是IO_TYPE_SYS,编号为1-3.
  3. 驱动需要在应用程序中动态加载
  4. 驱动操作主要通过填充IO_CMD结构数据进行。IO_CMD结构详见设备驱动头文件。
  5. IO__CMD结构变量通过GIO_IOControl接口写入和读取
    1. 函数原型:GIO_IOControl(DWORD hOpenContext,DWORD dwCode,PBYTE pBufIn,DWORD dwLenIn,PBYTE pBufOut,DWORD dwLenOut,PDWORD pdwActualOut);
    2. 参数说明:
      1. hOpenContext,设备句柄,执行CreateFile时得到
      2. dwCode,操作代码
      3. pBufIn,dwLenIn:写入驱动的数据
      4. pBufOut,dwLenOut:读取驱动的数据
      5. pdwActualOut,不使用。
  6. 初始化
    1. IO使用前必须先进行初始化,以便建立正确的IO功能配置
    2. 初始化步骤
      1. 声明操作数据结构
      2. 填写IO类型、通道号、初始变量值到IO_CMD结构变量
      3. 调用IOControl命令将数据写入驱动
      4. 编程示例(初始化AI1):
        1. struct IO_CMD BufIn;
        2. BufIn.type=IO_TYPE_AI;
        3. BufIn.channel=1;
        4. GIO_IOControl(hOpenContext,IOCTL_CMD_INIT,&BufIn,sizeof(BufIn),NULL,NULL,NULL);
  7. 数据读取编程示例,读取DI2电平
    1. struct IO_CMD BufIn;
    2. BufIn.type=IO_TYPE_DI;
    3. BufIn.channel=2;
    4. GIO_IOControl(hOpenContext,IOCTL_CMD_READ,&BufIn,sizeof(BufIn),&BufIn,sizeof(BufIn),NULL);
    5. BufIn.value即为返回值
  8. IO设置编程示例,设置AO3输出为5V
    1. struct IO_CMD BufIn;
    2. BufIn.type=IO_TYPE_AO;
    3. BufIn.channel=3;
    4. BufIn.value=0x7fff; //AO满幅输出为0xffff
    5. GIO_IOControl(hOpenContext,IOCTL_CMD_READ,&BufIn,sizeof(BufIn),NULL,NULL,NULL);

 
举报收藏 0打赏 0评论 0
更多>相关评论
暂时没有评论,来说点什么吧
更多>同类环保知识
推荐图文
推荐环保知识
点击排行
网站首页  |  免责声明  |  联系我们  |  关于我们  |  隐私政策  |  排名推广  |  广告服务  |  积分换礼  |  帮助中心  |  网站地图  |  违规举报
鲁ICP备12015736号-1