TA的每日心情 | 开心 2022-1-29 15:05 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我的目的是这样:在while(1)里,检测开关条件后运行中断1,运行完后,再调用中断2,两个中断设置的参数不一样。比如:
( v* O+ G- z6 D% G% a; [
6 Y0 f7 `1 K/ \2 @void main();
. }' A: I( H1 D' E4 ` z{9 h& D" h# S' x1 F+ s
InitTimer0();
% p2 h) w( m7 K2 ?
7 q& z# u4 ^" B* J fled==~led;2 V7 H9 b9 O" T: O
InitTimer1();
9 z7 O: ^* o2 {: z" ]
6 R8 q1 s2 l8 I K; b4 J; Wled1==~led1; q. z' \) K0 X A o
}* l+ |" O8 @2 S. @ ]. @$ N) s1 P
; W7 Z* I2 d' o. G' lvoid time0() interrupt 1% H: H$ n6 H- y* i
{TH0=0XDD; I6 V9 l. o1 C; `( }+ Z& S) }. [, c. j
TL0=0Xa4;
& _, ]4 k) P( p9 `pp++;" C3 |$ w5 _6 p& f& K0 g& ?% a, A- d/ k8 [
}
$ w1 B: R! n$ }. U/ h
1 |9 l" C2 y x3 ?" B8 [void time1() interrupt 1, E' ?+ K1 K% f0 h
{TH0=0Xff;5 y. ^% Z( A9 S
TL0=0Xa4;
- J/ f$ S% b( e( cpp++;2 c; |! m: j/ w. `2 Q
}
' ~2 K* @0 n* H2 q
( g1 Z, x" g% Z: j0 C请问以上程序可行吗?* H8 `/ H& r# d% p+ h
没有表达清楚,补充一下:我的程序目的是
$ K' d2 y% W p1 U P在程序运行开始,检测控制开关闭合时,定时器1模式为计时开始,+ N0 w0 l. y3 F
当扫描到开关再次闭合,计时停止(得到两次开关闭合时间间隔为假设1000周期,再以定时模式,以前面的计时时间的一半即500周期为定时器2时长开始倒计时。, S+ t2 P, R( N9 Z% h; n5 J$ e
当倒计时结束,输出取反;
6 o5 \; x7 C1 a. M" C) b定时器2再以250周期倒计时,倒计时结束时,再次输出取反。
" W. |- V T3 D4 ?, R这里,定时器2需要两次中断,两次写入不同的时间参数。请问如何实现?
2 ]8 T4 [5 i ]- o9 O |
|