TA的每日心情 | 开心 2022-1-29 15:05 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我的目的是这样:在while(1)里,检测开关条件后运行中断1,运行完后,再调用中断2,两个中断设置的参数不一样。比如: 6 S1 x: H% C% Q5 v. }) x K8 `6 |
" f$ j6 L* o+ Gvoid main();
0 g9 w2 s' F/ z! H. Q0 P# G1 }{% r- s$ r& n0 R2 I# b3 e
InitTimer0();
+ s2 O9 ]6 W; n! T7 P I
4 |7 D/ v/ j$ R2 wled==~led;
( H% O2 ]: q3 Y3 {4 t& C: X InitTimer1();* ~# X5 z; P7 H2 o
, w; i" g! Y) p2 t' _led1==~led1' r) E$ h+ |. ^8 y6 U: ]7 K( q
}+ S2 M% p) Z: ~
/ M9 C& V; |, P8 s4 O
void time0() interrupt 1
' C4 c3 ]3 B7 H ?{TH0=0XDD;
6 I5 q! n3 l- X1 m8 eTL0=0Xa4;
3 D2 j# F. }5 M$ p( z6 ]pp++;. }5 J. \% }8 H% b$ {1 s9 p6 k
}* l/ {, b( d( `8 @+ e8 `
! ~; g V$ n0 Wvoid time1() interrupt 1" Y% M, t0 W" C: M! }
{TH0=0Xff;1 o" i. ?% I( t# R
TL0=0Xa4;! B% @/ I8 a& f, [
pp++;* n4 m- S2 |$ L( l
}
3 ?- Z1 h$ [$ b0 P/ t. w( D: I L& v( A
请问以上程序可行吗?
# E1 n: f e: b0 ~/ P! g没有表达清楚,补充一下:我的程序目的是
/ M3 U/ W, E/ J, l* D8 D6 {在程序运行开始,检测控制开关闭合时,定时器1模式为计时开始,' E- k. B& \) |; T& F5 _5 T
当扫描到开关再次闭合,计时停止(得到两次开关闭合时间间隔为假设1000周期,再以定时模式,以前面的计时时间的一半即500周期为定时器2时长开始倒计时。
# I" t. K/ E+ [/ t* e. P当倒计时结束,输出取反;
* v& M0 _) t- E. o( \ g6 M定时器2再以250周期倒计时,倒计时结束时,再次输出取反。6 J7 @) M) }) E7 o- w6 e6 @
这里,定时器2需要两次中断,两次写入不同的时间参数。请问如何实现?
. U! d; u3 N; T5 G, j+ ]. L1 S |
|