|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
6 l3 x/ p: _" F z
如下的程序,只要state_flag=1为真,state_cnt就从0开始自加. 想知道如果此时state为真,state_cnt=5,此时是state_cnt一直就等于5了,停止自加了,还是state_cnt当前的值被赋为5,然后从5为初值继续开始自加??9 S7 }# z0 C% r. q
' m8 s7 l4 r& d! punsigned int state_cnt=0;
1 `) D) q' G! [4 K6 q7 r4 Iunsigned char state_flag=1;
3 U; y3 H- w; a1 n6 o. \! l7 C! Bunsigned char state=0;7 N" E. h. Y: K& p/ [1 S ?
4 y7 K0 Y4 S: i
int main(void)" y& ~) `- u. F$ w, H
{
& L$ @! L/ f* B) h$ x$ Hstate_flag=1;8 q& W/ N$ w1 H; p8 @
while(1)
7 d- C2 I, g9 i# }+ X* {. u1 g Y{3 C( @# R$ B- @
;' P6 o- e- c1 p, }: k/ U; I
}
0 p' I+ F* i: Y: W% J" v" A! h/ v$ q# c* \+ r3 v
3 {. ?( k/ ?- s' f$ X
ISR_(timer_vect) //定时器中断,1s进一次中断0 [9 b3 V2 f% C/ \ d' f
{6 Y6 N' Q8 y" V+ S1 v5 E0 q, ?
if (state_flag==1)
7 T+ b& @ g3 r1 m. I1 ~8 p+ h {
% F1 n: P1 K( p; V" ? state_cnt ++;0 @3 V/ I* D6 k' ?
if(state)
4 }9 }/ f6 W6 G) u! T+ g; A: W {
( d* H7 \( d& U0 ? state_cnt=5;& ]; t5 H. q8 x' [: h
}
3 b" w) O/ A' `2 g3 X& j: h: M }4 t* @) _; b/ L
}9 I3 W: Y" _, {7 s. h+ X4 j# _, G
6 H/ [' m: j) O4 ~, E3 w. ~$ S6 O
|
|