资源简介
可以在windows ce运行的GPIO驱动程序
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
static volatile BULVERDE_GPIO_REG *g_pGPIORegs = NULL; // PXA27x GPIO registers
BOOL WINAPI
GPI_DllEntry(
HANDLE hInstDll
DWORD dwReason
LPVOID lpvReserved
)
{
return 1;
}
DWORD GPI_Init(LPCTSTR pContextLPCVOID lpvBusContext)
{
PHYSICAL_ADDRESS RegPA;
if(g_pGPIORegs == NULL)
{
RegPA.QuadPart = BULVERDE_base_REG_PA_GPIO;
g_pGPIORegs = (volatile BULVERDE_GPIO_REG *) MmMapIoSpace(RegPA 0x400 FALSE);
}
return 1;
}
DWORD GPI_Open (DWORD dwData DWORD dwAccess DWORD dwShareMode) {
return (1);
}
BOOL GPI_Close(DWORD dwData) {return (TRUE);}
DWORD GPI_Write(DWORD dwData LPCVOID pBuf DWORD Len)
{
BYTE* pdatabuf;
BYTE gpioNum;
BYTE gpioState;
pdatabuf = (BYTE*)pBuf;
gpioNum = *pdatabuf++;
gpioState = *pdatabuf;
RETAILMSG(1(TEXT(“gpioNum : %d\r\n“)gpioNum));
RETAILMSG(1(TEXT(“gpioState : %d\r\n“)gpioState));
if(gpioNum == 3 || gpioNum == 4 || gpioNum == 9) //这里可以选择你要用的gpio口 GPIO0-31由寄存器GPDR0 GPSR0 GPCR0控制
{ //GPIO32-63 由GPDR1...控制 GPIO64-95由GPDR2...控制
if(gpioState == 1) //GPIO96- 由GPDR3...控制
{
g_pGPIORegs->GPDR0 |= (1< g_pGPIORegs->GPSR0 |= (1< }
else
{
g_pGPIORegs->GPDR0 |= (1< g_pGPIORegs->GPCR0 |= (1< }
}
else if(gpioNum == 101 || gpioNum ==102 || gpioNum == 103 || gpioNum == 104)
{
if(gpioState == 1)
{
g_pGPIORegs->GPDR3 |= (1<<(gpioNum % 32));
g_pGPIORegs->GPSR3 |= (1<<(gpioNum % 32));
}
else
{
g_pGPIORegs->GPDR3 |= (1<<(gpioNum % 32));
g_pGPIORegs->GPCR3 |= (1<<(gpioNum % 32));
}
}
return 1;
}
DWORD GPI_Read(DWORD dwData LPVOID pBuf DWORD Len)
{
BYTE* pdatabuf;
BYTE gpioNum;
pdatabuf = (BYTE*)pBuf;
gpioNum = *pdatabuf++;
if(gpioNum == 3 || gpioNum ==4 || gpioNum == 9)
{
*pdatabuf =(g_pGPIORegs->GPLR0 & (1<
}
if(gpioNum == 101 || gpioNum ==102 || gpioNum == 103 || gpioNum == 104)
{
*pdatabuf =(g_pGPIORegs->GPLR3 & (1<<(gpioNum % 32)))?1:0;
}
RETAILMSG(1(TEXT(“state: %d\r\n“)*pdatabuf));
return 1;
}
BOOL GPI_Deinit(DWORD dwData)
{
if(g_pGPIORegs)
g_pGPIORegs = NULL;
return 1;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10407 2007-05-17 16:11 GPIO-driven and routine\Build.log
文件 600 2007-05-17 09:59 GPIO-driven and routine\GPI.def
文件 659 2001-12-19 17:14 GPIO-driven and routine\makefile
文件 796 2007-05-17 10:16 GPIO-driven and routine\sources
文件 123 2007-05-31 14:24 GPIO-driven and routine\需添加的注册表.txt
文件 2446 2007-05-17 16:11 GPIO-driven and routine\GPI.c.bak
文件 2645 2007-05-31 14:25 GPIO-driven and routine\GPI.c
文件 684 2007-05-17 16:11 GPIO-driven and routine\obj\ARMV4I\retail\gpi.def
文件 9025 2007-05-17 16:11 GPIO-driven and routine\obj\ARMV4I\retail\GPI.obj
文件 63 2007-05-18 23:36 GPIO-driven and routine\obj\ARMV4I\retail\_ob
目录 0 2008-02-17 16:48 GPIO-driven and routine\obj\ARMV4I\retail
目录 0 2008-02-17 16:48 GPIO-driven and routine\obj\ARMV4I
目录 0 2008-02-17 16:48 GPIO-driven and routine\obj
文件 9216 2007-05-31 14:25 GPIO-driven and routine\一个可用的例程源码和文件\gpi.exe
文件 1051 2007-05-31 14:25 GPIO-driven and routine\一个可用的例程源码和文件\gpi\gpi.vcc
文件 3335 2007-05-31 13:56 GPIO-driven and routine\一个可用的例程源码和文件\gpi\ReadMe.txt
文件 1302 2007-05-31 13:56 GPIO-driven and routine\一个可用的例程源码和文件\gpi\gpi.h
文件 1790 2007-05-31 13:56 GPIO-driven and routine\一个可用的例程源码和文件\gpi\gpi.cpp
文件 1085 2007-05-31 13:56 GPIO-driven and routine\一个可用的例程源码和文件\gpi\StdAfx.h
文件 201 2007-05-31 13:56 GPIO-driven and routine\一个可用的例程源码和文件\gpi\StdAfx.cpp
文件 768 2007-05-31 13:56 GPIO-driven and routine\一个可用的例程源码和文件\gpi\newres.h
文件 12437 2007-05-31 13:56 GPIO-driven and routine\一个可用的例程源码和文件\gpi\gpi.vcp
文件 536 2007-05-31 13:56 GPIO-driven and routine\一个可用的例程源码和文件\gpi\gpi.vcw
文件 41984 2007-05-31 14:25 GPIO-driven and routine\一个可用的例程源码和文件\gpi\gpi.vcb
文件 1231 2007-05-31 13:57 GPIO-driven and routine\一个可用的例程源码和文件\gpi\gpiDlg.h
文件 2278 2007-05-31 14:25 GPIO-driven and routine\一个可用的例程源码和文件\gpi\gpi.vcl
文件 5287 2007-05-31 14:21 GPIO-driven and routine\一个可用的例程源码和文件\gpi\gpi.rc
文件 638 2007-05-31 14:21 GPIO-driven and routine\一个可用的例程源码和文件\gpi\Resource.h
文件 92620 2007-05-31 14:21 GPIO-driven and routine\一个可用的例程源码和文件\gpi\gpi.aps
文件 2437 2007-05-31 14:23 GPIO-driven and routine\一个可用的例程源码和文件\gpi\gpiDlg.cpp
............此处省略23个文件信息
- 上一篇:108种编程中常见的问题及解决办法
- 下一篇:virtuoso实例教学
相关资源
- TCP 发包工具(windows)
- 一个基于MFC的GridCtrl,提供类似Excel的
- 微软的可以删除系统卸不干净的软件
- windows下生成MD5值的工具(WinMD5)
- windows cygwin ns2安装步骤
- 声音文件播放程序.可以播放WAV文件并
- EXCEL横转竖(列转行)宏
- Excel高效办公实例
- 通过webservice上传和下载文件
- Source Insight 3.5 配置文件
- WinAPI 函数库(大全)
- 湖南省计算机等级二级考试excel题集锦
- 仓库管理系统(access)135028
- bmp2c
- EXCEL文件转换成固定的格式的文本格式
- 从EXCEL中取数据在Teechart7显示应用示例
- 解决在Windows XP SP2下不能显示验证码的
- 基于SSM+CXF构建的RESTFul webservice
- 加快Windows XP操作系统开机速度
- 探索LHC耦合中的CP振动效应
- 复合共振的行为打破了轻质风味的普
- 重建希格斯产生的共振tau对中的半不
- 中微子质量和暗物质的模型,具有大
- 外来轻质风味违反希格斯衰变
- Zee模型的全参数扫描:探索希格斯轻
- B介子的重生和暗物质
- II型逆向跷跷板机制及其在LHC和ILC的签
- 在LHC s = 13 TeV时许多射流产生弱的矢量
- 标准模型中H衰变的轻子极化不对称
- 在大型强子对撞机上通过第三代费米
评论
共有 条评论