• 大小: 76.47 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-10-04
  • 语言: 其他
  • 标签: GPIO  windows  ce  驱动  

资源简介

可以在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\_objects.mac

     目录          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个文件信息

评论

共有 条评论