|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
- g# l% H% v! C- F0 Z如下的程序,只要state_flag=1为真,state_cnt就从0开始自加. 想知道如果此时state为真,state_cnt=5,此时是state_cnt一直就等于5了,停止自加了,还是state_cnt当前的值被赋为5,然后从5为初值继续开始自加??& ~2 A' U7 h' I0 [
. [4 ~& g% l. K% L: r) U# ~
unsigned int state_cnt=0;2 E8 w0 x8 Z4 E1 W. G
unsigned char state_flag=1;
4 [$ A* s, z; t8 V7 T# n# Yunsigned char state=0;
2 I+ @" n& m) H, ^8 O/ P4 U1 h0 }1 L, ^$ b5 ~
int main(void)
) |9 o" m; v, s3 T{
+ ?' j; K' @( {state_flag=1;
1 D- y( C' @9 p- m$ qwhile(1)
2 m6 y9 O% k4 ?1 p{
4 e, t% O- u8 T3 g1 v ;
( R( D# b! l* V7 Q' q& \6 ~& l! B}
8 w* B) i% A! m; B( Q6 l' n
8 d1 y( C2 F' d ~' n: X2 \6 C" A a7 B. G6 ]
ISR_(timer_vect) //定时器中断,1s进一次中断
# K% t- l( f/ E, f1 x3 M{6 v: U+ G& H9 |+ S, D, [
if (state_flag==1)
6 C0 J { {1 v. e9 ~5 M6 _2 Z {
7 _# @1 y) j& V3 h4 S0 b2 _1 j state_cnt ++;# B/ ^4 u: r" A( u8 F. _
if(state)
/ u" a$ \: N7 {% J& N* E {
+ s9 O# _. S" w/ k+ R state_cnt=5;4 N% ?. R _- Q4 b% l2 l
}) i6 B9 ]2 T1 l" A k: f7 z
}2 k! P7 b0 a+ s
}. }. K, c# A% U. z
' g: ?. F+ n* _$ p6 e |
|