Wdt Sample Code - MSI MS-98H3 Manual

Industrial computer board
Table of Contents

Advertisement

GPIO & WDT

WDT Sample Code

2. Watchdog Timer – WDT 
The base address (WDT_BASE) of WDT configuration registers is 0xA10. 
 
2.1 Set WDT Time Unit 
val = Inportb (WDT_BASE + 0x05);     
val = val | 0x08;       
Outportb (WDT_BASE + 0x05, val); 
 
2.2 Set WDT Time 
Outportb (WDT_BASE + 0x06, Time);   
 
2.3 Enable WDT 
val = Inportb (WDT_BASE + 0x0A);     
val = val | 0x01;     
Outportb (WDT_BASE + 0x0A, val); 
val = Inportb (WDT_BASE + 0x05);   
val = val | 0x20;     
Outportb (WDT_BASE + 0x05, val); 
 
 
2.4 Disable WDT 
val = Inportb (WDT_BASE + 0x05);   
val = val & 0xDF;     
Outportb (WDT_BASE + 0x05, val); 
2.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);   
val = val & 0x40;     
if (val) 
else     
2.6 Clear WDT Reset Flag 
val = Inportb (WDT_BASE + 0x05);   
val = val | 0x40;      
Outportb (WDT_BASE + 0x05, val); 
A-2
 
 
 
 
 
 
 
 
 
 
 
 
printf ("timeout event occurred"); 
printf ("timeout event not occurred"); 
 
 
 
 
// Read current WDT setting 
 
// minute mode. val = val & 0xF7 if second mode 
 
// Write back WDT setting 
// Write WDT time, value 1 to 255. 
// Read current WDT_PME setting 
 
// Enable WDT OUT: WDOUT_EN (bit 0) set to 1. 
 
// Write back WDT setting. 
 
// Read current WDT setting 
 
// Enable WDT by set WD_EN (bit 5) to 1. 
 
// Write back WDT setting. 
 
// Read current WDT setting 
 
// Disable WDT by set WD_EN (bit 5) to 0. 
 
// Write back WDT setting. 
 
// Read current WDT setting. 
 
// Check WDTMOUT_STS (bit 6). 
 
 
// Read current WDT setting 
 
// Set 1 to WDTMOUT_STS (bit 6); 
 
// Write back WDT setting 

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents