EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
程序代码如下
6 N. @- q* g! a/ c$ |; U#include "s5pc100.h" typedef struct {9 x* Q# @' r5 U
unsigned int WTCON;
( {/ a6 G/ A0 J: P8 X0 u9 v0 T) Gunsigned int WTDAT;
% d/ C5 y6 h; S. B4 ^7 }unsigned int WTCNT;
, U7 p0 C5 x$ ^unsigned int WTCLRINT;6 k- T# O: _, B
1 ~& u, J7 y' B$ b5 W}watchdog;
3 Q/ R0 y n l l c8 X#define WATCHDOG (*(volatile watchdog *)0XEA200000) void watchdog_unit()
, o3 b/ g% [1 H$ W; u{6 {/ F& ~+ p2 o5 X1 R
printf("flag1\n");
9 D) J# Q8 G l) t* zWATCHDOG.WTDAT = 0XFFFF;
' ^$ W+ L V0 ]" A" F+ ?# gWATCHDOG.WTCON = (0XFF<<8 | 1<<5 | 1<<3 | 0<<2 | 1); g" G8 ?: v6 ^/ d( K0 n
printf("flag3\n");8 w9 L5 z& U8 W1 w
WATCHDOG.WTCNT = 0XFFFF;
9 v7 Y0 I* d( Z( Zprintf("in watchdog\n");0 Z+ s- m- Y1 [7 [6 h
} int main(void)
( n: T* e9 {7 [9 W o! V2 [6 @ [6 `{" N9 N/ Z8 V' W. S$ X8 U. o
watchdog_unit();
W$ \; J. X5 G: ]1 U} $ j9 U, s: J2 t! F# C( i6 ?4 c" ]
3 ^! M# B9 P) Z9 Y; _, v/ f% p
& G, e) g! c+ D! E, d为什么该程序会在watchdog_unit();函数中一直执行。 / P, O& I7 T/ M2 j$ @
如果在watchdog_unit();语句后加上while死循环,看门狗正常工作
" K; U$ q, a/ pint main(void)8 H& x! `' v* @# Z
{' M1 Z8 y) w, I! I
watchdog_unit();
' w4 [& U) e2 z* F8 r# ywhile(1);1 J8 `9 @( v- t& U" W
}
# A7 V% |8 R# c- w% P0 W |