TA的每日心情 | 开心 2022-1-29 15:05 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我的目的是这样:在while(1)里,检测开关条件后运行中断1,运行完后,再调用中断2,两个中断设置的参数不一样。比如: , ]) {# A9 M2 V+ G
% {+ v4 Z4 @# c# X* N3 V7 n$ l
void main();7 ?* ~0 A( A- Q- F+ w% l
{- f, S2 I6 Z. |% x! o
InitTimer0();7 v' G' d; \; Y2 H! C
) ]! O6 y4 D, r* q! S
led==~led;
1 m- D3 E8 a h7 m+ z+ J InitTimer1();6 C7 d' a$ {# a0 J9 T4 d
" h) F0 Z, o) f8 _8 a& l2 ~! h5 _led1==~led1
4 I% D, F ^9 p( q. ^+ ?}
5 M% q$ f$ M5 r. i% X4 z, b) a9 u. }& D4 p& b
void time0() interrupt 1
0 K7 K2 o- }) F& o/ n. `+ P* V{TH0=0XDD;
3 E' p- }$ A2 R" R% o1 _4 JTL0=0Xa4;, S; x8 P5 r* _) P; Z I( T+ j
pp++;3 y1 `3 E c# O
}
& ]5 t. J6 L* M! Q" S+ E
4 I0 T; ^; j, u5 D3 Z" }void time1() interrupt 1
/ @6 q& |5 b O& {3 d. p{TH0=0Xff;
/ a% b' y1 ]' c9 H2 A, vTL0=0Xa4;
2 `- a! E+ q, I: Rpp++;
0 H2 X' Q s, W8 H}
8 a. V. N& V' @, y+ o1 f# k: D: B, \1 I! s( e
请问以上程序可行吗?
) m- t( Z4 D/ u" \4 n( }没有表达清楚,补充一下:我的程序目的是
/ R( p- D. e2 I4 H: X7 ~3 F在程序运行开始,检测控制开关闭合时,定时器1模式为计时开始,
0 p/ n0 E7 i3 m8 W$ D当扫描到开关再次闭合,计时停止(得到两次开关闭合时间间隔为假设1000周期,再以定时模式,以前面的计时时间的一半即500周期为定时器2时长开始倒计时。
9 H# ~$ i. |6 L% h# ~7 l当倒计时结束,输出取反;1 W7 y5 Z5 j# \1 Q
定时器2再以250周期倒计时,倒计时结束时,再次输出取反。0 P7 \/ F/ z# A$ {' @1 @4 F
这里,定时器2需要两次中断,两次写入不同的时间参数。请问如何实现?3 e2 s( Z4 F9 M! R
|
|