Acrosser AR-B6050 User Manual
Page 27

AR-B6050 User Ma
nual
27
// Main procedure
//=========================================================================
==
int main(int argc, char *argv[])
{
unsigned char IO_Port_Address=0x2E;
unsigned char Time;
unsigned char Temp;
if ( argc != 2 )
{ Show_Help(); return 1; }
clrscr();
Time=atoi(argv[1]);
// Set Watchdog
outportb(IO_Port_Address,0x87);
// (EFER) Extended Functions Enable Register
outportb(IO_Port_Address,0x87);
outportb(IO_Port_Address,0x2D);
// Point to Global Reg.
// Select Multi-Function pin, (Bit0=0 Watchdog Function)
outportb(IO_Port_Address+1,(inportb(IO_Port_Address+1)&0xFE));
outportb(IO_Port_Address,0x07);
// Point to Logical Device Number Reg.
outportb(IO_Port_Address+1,0x08); // Select logical device 8, (Watchdog Function)
outportb(IO_Port_Address,0x30);
// Device Active register
outportb(IO_Port_Address+1,0x01);
outportb(IO_Port_Address,0xF5);
// Select Watchdog count mode seconds or minutes
outportb(IO_Port_Address+1,0x02); // Default is second and KBRST mode.
outportb(IO_Port_Address,0xF6);
// Set Watchdog Timer Value
outportb(IO_Port_Address+1,Time); // 0x00 to disable, max 0xFF
textcolor(YELLOW);