wince GPIO 驱动 学习

platform.reg中添加如下:

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\GPIODriver]
 "Prefix"="GIO"
 "Index"=dword:1
 "Dll"="GPIODriver.dll"

platform.bib中添加如下:

IF BSP_NOGPIODRIVER !
GPIODriver.dll  $(_FLATRELEASEDIR)\GPIODriver.dll NK SHK
ENDIF ;

配置GPGCON寄存器:

如:

v_pIOPregs->GPGCON  = (v_pIOPregs->GPGCON  & ~(3 << 0)) | (1<< 0);

。。。

v_pIOPregs->GPGUDP  = (v_pIOPregs->GPGUDP & 0x0); //  00=PULL-UP/DOWN DISABLE

v_pIOPregs->GPGDAT=v_pIOPregs->GPGDAT & ~(0x1<<0);

配置好输入输出口,选择是否使能等。由IOControl控制输出高低。

主要由这些函数完成。

 GIO_Close
 GIO_Deinit
 GIO_Init
 GIO_IOControl
 GIO_Open
 GIO_PowerDown
 GIO_PowerUp
 GIO_Read
 GIO_Seek
 GIO_Write

 

接下来,应用程序验证:

首先定义个句柄:

HANDLE gpiodriver;   //设备文件句柄

 

然后由如下两语句实现控制IO口,输出高低:

DeviceIoControl(gpiodriver,IO_CTL_GPIO_1_HIGH, NULL,0,NULL,0,NULL,NULL);

DeviceIoControl(gpiodriver,IO_CTL_GPIO_1_LOW, NULL,0,NULL,0,NULL,NULL);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值