
A-3
WDT Programming
MS-9A84
Watchdog Timer
1. Watchdog
Timer
–
WDT
The
base
address
(WDT_BASE)
of
WDT
configuration
registers
is
0xA10.
1.1
Set
WDT
Time
Unit
val
=
Inportb
(WDT_BASE
+
0x05);
//
Read
current
WDT
setting
val
=
val
|
0x08;
//
minute
mode.
val
=
val
&
0xF7
if
second
mode
Outportb
(WDT_BASE
+
0x05,
val);
//
Write
back
WDT
setting
1.2
Set
WDT
Time
Outportb
(WDT_BASE
+
0x06,
Time
);
//
Write
WDT
time,
value
1
to
255.
1.3
Enable
WDT
val
=
Inportb
(WDT_BASE
+
0x0A);
//
Read
current
WDT_PME
setting
val
=
val
|
0x01;
//
Enable
WDT
OUT:
WDOUT_EN
(bit
0)
set
to
1.
Outportb
(WDT_BASE
+
0x0A,
val);
//
Write
back
WDT
setting.
val
=
Inportb
(WDT_BASE
+
0x05);
//
Read
current
WDT
setting
val
=
val
|
0x20;
//
Enable
WDT
by
set
WD_EN
(bit
5)
to
1.
Outportb
(WDT_BASE
+
0x05,
val);
//
Write
back
WDT
setting.
1.4
Disable
WDT
val
=
Inportb
(WDT_BASE
+
0x05);
//
Read
current
WDT
setting
val
=
val
&
0xDF;
//
Disable
WDT
by
set
WD_EN
(bit
5)
to
0.
Outportb
(WDT_BASE
+
0x05,
val);
//
Write
back
WDT
setting.
1.5
Check
WDT
Reset
Flag
If
the
system
has
been
reset
by
WDT
function,
this
flag
will
set
to
1.
val
=
Inportb
(WDT_BASE
+
0x05);
//
Read
current
WDT
setting.
val
=
val
&
0x40;
//
Check
WDTMOUT_STS
(bit
6).
if
(val)
printf
(“timeout
event
occurred”);
else
printf
(“timeout
event
not
occurred”);
1.6
Clear
WDT
Reset
Flag
val
=
Inportb
(WDT_BASE
+
0x05);
//
Read
current
WDT
setting
val
=
val
|
0x40;
//
Set
1
to
WDTMOUT_STS
(bit
6);
Outportb
(WDT_BASE
+
0x05,
val);
//
Write
back
WDT
setting
Summary of Contents for MS-9A84
Page 1: ...i MS 9A84 Industrial Data Machine...
Page 9: ...1 3 MS 9A84 System Overview h h System I O Controls 6 1 2 3 3 4 5...
Page 15: ...1 9 MS 9A84 System Dimensions 215 00 155 00 55 00...
Page 16: ......
Page 24: ......
Page 46: ......
Page 47: ...2 A 1 This appendix provides WDT Watch Dog Timer programming guide Appendix WDT Programming...