wdog.cpp
来自「ebd9307开发板wince bsp源码,包括cs8900,lcd,nand,」· C++ 代码 · 共 136 行
CPP
136 行
#include <hwdefs.h>
#include <windows.h>
#include "wdog.h"
extern "C"{
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
DWORD DOG_Init (DWORD dwContext)
{
DWORD dwRet = 1;
RETAILMSG(1,(TEXT("INIT THE WATCHDOG\r\n")));
return dwRet;
}
BOOL DOG_Deinit (DWORD hDeviceContext)
{
BOOL bRet = TRUE;
return bRet;
}
DWORD DOG_Open (DWORD hDeviceContext,DWORD AccessCode, DWORD ShareMode)
{
DWORD dwRet = 1;
*GPIO_PADR |= 0x80; //disable wdog
*GPIO_PADDR |=0x80; //egpio7 output
*GPIO_PBDDR |=0x01; //egpio8 output
//RETAILMSG(1,(TEXT("OPEN THE WATCHDOG\r\n")));
return dwRet;
}
BOOL DOG_Close (DWORD hOpenContext)
{
BOOL bRet = TRUE;
*GPIO_PADR |= 0x80; //disable wdog
*GPIO_PADDR &=0x7F; //egpio7 input
*GPIO_PBDDR &=0xFE; //egpio8 input
//RETAILMSG(1,(TEXT("CLOSE THE WATCHDOG\r\n")));
return bRet;
}
BOOL DOG_IOControl (DWORD hOpenContext,
DWORD dwCode,
PBYTE pBufIn,
DWORD dwLenIn,
PBYTE pBufOut,
DWORD dwLenOut,
PDWORD pdwActualOut)
{
BOOL bRet = TRUE;
switch(dwCode)
{
case IOCTL_CLEAR_WATCHDOG:
*GPIO_PBDR &= 0xFE;
*GPIO_PBDR |= 0x01;
//RETAILMSG(1,(TEXT("CLEAR THE WATCHDOG\r\n")));
break;
case IOCTL_ENABLE_WATCHDOG:
*GPIO_PADR &= 0x7F;
//RETAILMSG(1,(TEXT("ENABLE THE WATCHDOG\r\n")));
break;
case IOCTL_DISABLE_WATCHDOG:
*GPIO_PADR |= 0x80;
//RETAILMSG(1,(TEXT("DISABLE THE WATCHDOG\r\n")));
break;
default:
bRet = FALSE;
}
return bRet;
}
void DOG_PowerDown (DWORD hDeviceContext)
{
return;
}
void DOG_PowerUp (DWORD hDeviceContext)
{
return;
}
DWORD DOG_Read (DWORD hOpenContext,LPVOID pBuffer,DWORD Count)
{
DWORD dwRet = 0;
return dwRet;
}
DWORD DOG_Seek (DWORD hOpenContext,long Amount,DWORD Type)
{
DWORD dwRet = 0;
return dwRet;
}
DWORD DOG_Write (DWORD hOpenContext,LPCVOID pSourceBytes,DWORD NumberOfBytes)
{
DWORD dwRet = 0;
return dwRet;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?