📄 复件 watchdog_func.c
字号:
void start_watchdog(alt_u32 period) //启动watchdog,period是监控时间,具体跟硬件模块有关
{
//IOWR_ALTERA_AVALON_TIMER_CONTROL (WATCHDOG_CUSTOM_B);
IOWR_ALTERA_AVALON_TIMER_CONTROL (WATCHDOG_CUSTOM_BASE,ALTERA_AVALON_TIMER_CONTROL_STOP_MSK);
IOWR_ALTERA_AVALON_TIMER_PERIODL (WATCHDOG_CUSTOM_BASE, period&0x0000FFFF);
IOWR_ALTERA_AVALON_TIMER_PERIODH (WATCHDOG_CUSTOM_BASE, period>>16);
IOWR_ALTERA_AVALON_TIMER_CONTROL (WATCHDOG_CUSTOM_BASE, 0x07);
}
void stop_watchdog() //停止watchdog
{
IOWR_ALTERA_AVALON_TIMER_CONTROL (WATCHDOG_CUSTOM_BASE,ALTERA_AVALON_TIMER_CONTROL_STOP_MSK);
}
void set_watchdog_period(alt_u32 period) //更改watchdog监控时间
{
IOWR_ALTERA_AVALON_TIMER_CONTROL (WATCHDOG_CUSTOM_BASE,ALTERA_AVALON_TIMER_CONTROL_STOP_MSK);
IOWR_ALTERA_AVALON_TIMER_PERIODL (WATCHDOG_CUSTOM_BASE, period&0x0000FFFF);
IOWR_ALTERA_AVALON_TIMER_PERIODH (WATCHDOG_CUSTOM_BASE, period>>16);
}
void feed_watchdog(alt_u32 period) //在程序的恰当地方调用此函数喂狗,是系统不reset.
{
IOWR_ALTERA_AVALON_TIMER_PERIODL (WATCHDOG_CUSTOM_BASE, period&0x0000FFFF);
IOWR_ALTERA_AVALON_TIMER_PERIODH (WATCHDOG_CUSTOM_BASE, period>>16);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -