IBASE SI-06 User Manual

Page 43

Advertising
background image

43




printf("System will reset after %d seconds\n", bTime);
if (bTime)
{EnableWDT(bTime);}else
{DisableWDT();

}

return 0;
}
//---------------------------------------------------------------------------
void EnableWDT(int interval)
{
unsigned char bBuf;
bBuf = Get_F81801_Reg(0x2B);
bBuf &= (~0x30);
Set_F81801_Reg(0x2B, bBuf);
//Enable WDTO
Set_F81801_LD(0x07);

//switch to logic device 7
Set_F81801_Reg(0x30, 0x01);

//enable timer
bBuf = Get_F81801_Reg(0xF5);
bBuf &= (~0x0F);
bBuf |= 0x52;
Set_F81801_Reg(0xF5, bBuf);


//count mode is second

Set_F81801_Reg(0xF6, interval);

//set timer


bBuf = Get_F81801_Reg(0xF0);

bBuf |= 0x80;

Set_F81801_Reg(0xF0, bBuf);


//enable WDTO output


bBuf = Get_F81801_Reg(0xF5);

bBuf |= 0x20;

Set_F81801_Reg(0xF5, bBuf);


//start counting
}
//---------------------------------------------------------------------------

Advertising