APPENDIX
void copyright(void)
{
printf("\n======== Winbond 83627EHF Watch Timer Tester (AUTO DETECT) ========\n"\
"Usage : W627E_WD reset_time\n"\
"Ex : W627E_WD 3 => reset system after 3 second\n"\
"W627E_WD 0 => disable watch dog timer\n");
}
//=========================================================================== void EnableWDT(int interval)
{
unsigned char bBuf;
bBuf = Get_W627EHF_Reg( 0x2D); bBuf &= (!0x01); Set_W627EHF_Reg( 0x2D, bBuf);
Set_W627EHF_LD( 0x08);
Set_W627EHF_Reg( 0x30, 0x01);
bBuf = Get_W627EHF_Reg( 0xF5); bBuf &= (!0x08); Set_W627EHF_Reg( 0xF5, bBuf);
Set_W627EHF_Reg( 0xF6, interval);
//Enable WDTO
//switch to logic device 8 //enable timer
//count mode is second
//set timer
}
//=========================================================================== void DisableWDT(void)
{
Set_W627EHF_LD(0x08); | //switch to logic device 8 |
Set_W627EHF_Reg(0xF6, 0x00); | //clear watchdog timer |
Set_W627EHF_Reg(0x30, 0x00); | //watchdog disabled |
}
//===========================================================================
//===========================================================================
//
//THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
//KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
//IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
//PURPOSE.
//
//=========================================================================== #include "W627EHF.H"
#include <dos.h> //=========================================================================== unsigned int W627EHF_BASE;
void Unlock_W627EHF (void); void Lock_W627EHF (void); //=========================================================================== unsigned int Init_W627EHF(void)
{
unsigned int result; unsigned char ucDid;
W627EHF_BASE = 0x2E; result = W627EHF_BASE;
ucDid = Get_W627EHF_Reg(0x20); if (ucDid == 0x88)
{ | goto Init_Finish; | } |
60 | MB896 User’s Manual |