0
点赞
收藏
分享

微信扫一扫

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寄存器:

wince GPIO 驱动 学习_应用程序

如:

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

。。。

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

wince GPIO 驱动 学习_文件句柄_02

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 条评论