CE6 操作GPIO方法
来源:互联网 发布:二手已备案域名 编辑:程序博客网 时间:2024/06/06 09:16
转载请标明:作者 menuconfig
分为两部分应用和驱动
驱动部分在IOControl中实现
static volatile S3C6410_GPIO_REG *v_pIOPregs ;
DWORD LED_Init(LPCTSTR pContext, LPCVOID lpvBusContext) {
//Virtual address mapping
v_pIOPregs = (volatile S3C6410_GPIO_REG*)DrvLib_MapIoSpace(S3C6410_BASE_REG_PA_GPIO,
sizeof(S3C6410_GPIO_REG),
FALSE);
return 1;
}
BOOL LED_Deinit(DWORD hDeviceContext) {
VirtualFree((PVOID)v_pIOPregs, 0, MEM_RELEASE);
v_pIOPregs = NULL;
return TRUE;
}
BOOL LED_IOControl(DWORD Handle,
DWORD dwIoControlCode,
PBYTE pInBuf,
DWORD nInBufSize,
PBYTE pOutBuf,
DWORD nOutBufSize,
PDWORD pBytesReturned) {
switch (dwIoControlCode) {
case IOCTL_LED_CASHDRAWER_OPEN: //CASHDRAWER_OPEN
v_pIOPregs->GPMCON&=(~(0x0f<<4));
v_pIOPregs->GPMCON|=0x1<<4;
v_pIOPregs->GPMDAT|=(0x01<<1);
OutputDebugString(L"CASHDRAWER_OPEN IO Control/n");
break;
case IOCTL_LED_CASHDRAWER_CLOSE: //CASHDRAWER_OPEN
v_pIOPregs->GPMCON&=(~(0x0f<<4));
v_pIOPregs->GPMCON|=0x1<<4;
v_pIOPregs->GPMDAT&=~(0x01<<1);
OutputDebugString(L"IOCTL_LED_CASHDRAWER_CLOSE IO Control/n");
}
return TRUE;
}
应用部分
#define IOCTL_LED_CASHDRAWER_OPEN 0x04001092
#define IOCTL_LED_CASHDRAWER_CLOSE 0x04001093
void OpenDrawer(void)
{
DWORD dwReturn = 0;
HANDLE hLed;
hLed = CreateFile(TEXT("LED1:"),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
if (hLed != INVALID_HANDLE_VALUE)
{
DeviceIoControl(hLed,
IOCTL_LED_CASHDRAWER_OPEN,
NULL,
sizeof(DWORD),
NULL,
0,
&dwReturn,
NULL);
DeviceIoControl(hLed,
IOCTL_LED_CASHDRAWER_CLOSE,
NULL,
sizeof(DWORD),
NULL,
0,
&dwReturn,
NULL);
Sleep(200);
RETAILMSG (1, (TEXT("APP CASHDRAWER_OPEN OK!/r/n"))) ;
}
else
{
RETAILMSG (1, (TEXT("APP CASHDRAWER_OPEN false!/r/n"))) ;
}
CloseHandle(hLed);
}
- CE6 操作GPIO方法
- CE6 操作GPIO方法
- nanopi2操作GPIO的4种方法
- 操作GPIO其中的两种方法
- Win CE6.0下如何新建和修改GPIO驱动
- gpio操作
- GPIO操作
- GPIO操作
- 嵌入式Linux系统中对GPIO操作的方法总结
- 操作GPIO口问题
- LINUX 2440-GPIO操作
- STM32的GPIO操作
- GPIO模拟I2C操作
- GPIO模拟I2C操作
- LINUX 2440-GPIO操作 .
- S5PV210 GPIO 操作
- STM32F407的GPIO操作
- linux 中的GPIO操作
- 深入浅出.NET泛型编程.NET泛型编程
- 深入浅出.NET泛型编程.NET泛型编程
- ADO.NET Entity Framework Extensions 简单应用
- C#3.0新特性速览(1)
- mysql binary属性
- CE6 操作GPIO方法
- Android 轻松实现语音识别
- 程序员感触
- Eclipse中常用的快捷键
- Text-To-Speech(TTS)语音朗读
- 两日期间的工作日分钟数(只排除了周六周日)
- POJ 2403 Hay Points 解题报告
- china-pub最新优惠活动,真情献礼,买一赠一!
- curl_setopt (int ch, string option, mixed value)