EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
程序代码如下" m- x1 v4 E2 u" P; ~- b; \/ @
#include "s5pc100.h" typedef struct {: w, W: J# t3 X3 e, c! u2 \
unsigned int WTCON;
. K" w8 y; i, junsigned int WTDAT;4 w* m; B; d; w6 }# J
unsigned int WTCNT;' _) G: R- }/ W: V5 U
unsigned int WTCLRINT;
; E) \! W0 B% N) t
6 O, n" n4 Y7 E! Y}watchdog;' V% R. J' S! R' m. V
#define WATCHDOG (*(volatile watchdog *)0XEA200000) void watchdog_unit()
# f1 P1 r; {8 l, Q/ h{
$ d5 C' n. U- u. Uprintf("flag1\n");
: U+ f* m( S% eWATCHDOG.WTDAT = 0XFFFF;' @; w1 Y. T* A1 g! h A
WATCHDOG.WTCON = (0XFF<<8 | 1<<5 | 1<<3 | 0<<2 | 1);8 L4 b; ]0 s! _ c3 Q
printf("flag3\n");
; P9 c9 G/ h9 ]+ n/ Q6 tWATCHDOG.WTCNT = 0XFFFF;
6 I( A$ j* H9 j: {; C( q+ Bprintf("in watchdog\n");& ]5 @/ v* O, b3 k) ~* ^1 H
} int main(void)1 y' v+ H* O4 I: ^7 g
{% P# }. v9 A" @
watchdog_unit();4 c5 t! C% L& G8 z5 Y+ v
} , x! Z. u ~) x6 }8 ~& {
- h; q E; v1 A& Z' J: y$ h6 s
- z" [4 c4 N% p/ H6 u. t为什么该程序会在watchdog_unit();函数中一直执行。
# `- }% G9 ]1 B: |如果在watchdog_unit();语句后加上while死循环,看门狗正常工作4 @) } N' ?7 }
int main(void)
! J) C0 j3 w6 M, y+ E) ~{0 C& Y- z8 P: ~' z* s
watchdog_unit();6 m3 V: H3 F0 H/ c: _2 g% O
while(1);! f/ R+ }8 _# r' L9 y. d, W
}
/ ^7 ?: o' |% |0 h# \& k5 ] f V |