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 + -
显示快捷键?