|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
5 |7 H8 m2 N" s: q如下的程序,只要state_flag=1为真,state_cnt就从0开始自加. 想知道如果此时state为真,state_cnt=5,此时是state_cnt一直就等于5了,停止自加了,还是state_cnt当前的值被赋为5,然后从5为初值继续开始自加??
p% j" H0 O2 X: _! g. C* n
z0 ~! X8 s7 Z) nunsigned int state_cnt=0;
3 b K) s) s4 z5 e. A3 Y7 ~# iunsigned char state_flag=1;: _/ {" h4 Y! _& @. E( h7 l3 C
unsigned char state=0;
( G8 o1 T- [7 A4 x$ |+ g
, Q; Z, x! x( A7 N2 o& |int main(void)% l' L9 _# E Q
{) E& r) q2 g8 E6 q. g
state_flag=1;! _8 z ]& J$ H3 y; G
while(1)5 l% k& D/ W- i; t1 m& Q
{
7 B" u% ?" G# Q. y9 i3 L ;
: j6 B! `/ x& u8 l$ R}
( B5 s n4 ~9 q4 z! v y; T
5 O( K5 e7 q! s' y
- U# \5 a& a; WISR_(timer_vect) //定时器中断,1s进一次中断9 I& ~9 }* d# | S
{+ c6 y6 p, X0 N+ A
if (state_flag==1)! I# ` ?. f. q& t
{
/ p* M5 C/ ?& J5 G( n2 I* I9 j6 s' r state_cnt ++;
0 d( o, i7 q( K# l6 @ if(state)8 j* S$ R1 _- }6 z* f( I
{! B1 e! w3 h0 d( Y/ u4 I- t+ ~
state_cnt=5;
5 ~/ _4 A: \3 g$ Z6 L/ L. T! g }; B4 C2 g, X k7 y- X$ a
}( p8 ~6 x9 ?; Y G. h6 o# i
}- b9 ^, n' N- `: Q& o
9 o' G6 q/ N" k u/ E) L( x( O |
|