|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
* S7 ~5 v3 `3 _$ z% Q8 z$ x如下的程序,只要state_flag=1为真,state_cnt就从0开始自加. 想知道如果此时state为真,state_cnt=5,此时是state_cnt一直就等于5了,停止自加了,还是state_cnt当前的值被赋为5,然后从5为初值继续开始自加??3 X1 m) o! T% p1 m9 T3 o
0 p$ u/ I7 Q2 l1 l1 b% ^unsigned int state_cnt=0;
" ]5 r7 p& J }5 {unsigned char state_flag=1;# n& f, D& ?3 x
unsigned char state=0;$ D: o6 K7 A, A2 V; O4 |
8 r( N9 I: |5 ]2 `7 q5 Zint main(void)4 o- T- ?6 N. z9 v2 a
{1 j& j3 a3 @0 t
state_flag=1;$ j4 ~: k2 Q! y7 S; d* `! J' a- O; \
while(1) G# N' V# x6 n) Q6 ^3 Y) u% t9 q
{/ s% [0 y' j6 x k5 v; q
;) y& e4 l+ L0 [6 R5 ?% K
}
. \* B+ H6 h k3 x* }; Q% H
9 \! @' x$ a3 d( i+ b% _; ~, E1 M4 i+ _# u
ISR_(timer_vect) //定时器中断,1s进一次中断1 n: s k1 d" I* z# {1 M6 [ V. E# |
{
* g0 i* F$ S" J; r! q/ p if (state_flag==1). S. `/ v' i. r( B
{
: s: C/ r: z) V1 F state_cnt ++;
, U- P# s3 L) H9 E3 G) G if(state)* e5 c/ O* v& X) _! t
{
; J5 g" f* U) z+ a state_cnt=5;
! x1 m, }: G* ^' ]* N2 } }
) h2 k% M5 L% ~. j1 J7 n g, H }
; Y6 `3 q' o" |" `( B0 o' y" n8 t}
+ p3 s& Z. t. K, S& p3 ^2 ]. {& T- Q
|
|