《转载》如何使用M6117D看门狗定时器复位系统

时间:2021-09-24 03:30:47

以下是使DM&P板卡在DOS下实现系统重启的C语言范例代码。
如何使用Vortex86看门狗定时器复位系统
void Vortex86_Reboot()<BR> {
outp(0x84a, 0x01);
outp(0x84b, 0x8c);
}
系统将会在4毫秒内重启。

如何使用M6117D看门狗定时器复位系统
#include <conio.h>
void M6117D_Reboot(){
unsigned char c;
outp(0x22,0x13); // Lock register // 送出索引寄存器地址
outp(0x23,0xc5); // Unlock config. Register //开锁寄存器设置// 1ms
outp(0x22,0x3b);
outp(0x23,0);
outp(0x22,0x3a);
outp(0x23,0);
outp(0x22,0x39);
outp(0x23,1);// Reset system // 复位系统
outp(0x22,0x38);
c = inp(0x23);
c &= 0x0f;
c |= 0xd0;
outp(0x22,0x38);
outp(0x23,c);<BR> // Enable watchdog timer //开启看门狗定时器
outp(0x22,0x37);
c = inp(0x23);
c |= 0x40;
outp(0x22,0x37);
outp(0x23,c);
outp(0x22,0x13); // Lock register //送出索引寄存器地址
outp(0x23,0x00); // Lock config. Register //锁定寄存器设置
}
系统将会在1毫秒内重启。

 

原文 http://www.gkong.com/learn/learn_detail.asp?learn_id=1838