TA的每日心情 | 开心 2022-1-29 15:05 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我的目的是这样:在while(1)里,检测开关条件后运行中断1,运行完后,再调用中断2,两个中断设置的参数不一样。比如:
& M/ Z# C7 q( `0 H4 W6 q9 H3 @' N5 T
void main();% H8 K* g, R+ [( b3 i' |
{
, X5 ~8 l0 g! e- C7 [9 P InitTimer0();
* ]) D, `7 t- B7 Q; C, I, g+ d/ u* @; k, j$ F& z7 h
led==~led;7 f' a, Q4 a8 i8 i/ G
InitTimer1();
. G: @+ x+ M% d" |
' q$ V7 d7 E: f( Z9 N! Gled1==~led1
y2 ^$ E5 x8 @1 ^6 |+ S+ U: e}& Y0 C+ ]7 f4 q, s4 A/ ^+ D
9 c- j5 X( x1 Z
void time0() interrupt 1/ O6 ?5 C# Z% m C: y% @- z; R
{TH0=0XDD;
) z$ S5 f, A* JTL0=0Xa4; Z$ f8 o: o0 E: I) L8 _, Z2 _
pp++;( D( Z& Q3 J! c1 }* Y1 M d
}8 y: q9 q% Q$ } Z3 X( q
# D! l, ^) w q6 tvoid time1() interrupt 1
' ~5 y) w; U- v5 _! G# q. \' J{TH0=0Xff;
( T/ n, [. X2 z- {2 F( aTL0=0Xa4;
9 W- q0 S/ P0 g3 E1 Q2 fpp++;
2 A/ E$ D$ v1 B V* n6 l}
; F% Q6 R# i2 y. B! H c/ C
/ H2 B& A+ t6 a& F- B! T请问以上程序可行吗?; E7 e* Q, p" N7 \3 d
没有表达清楚,补充一下:我的程序目的是3 C' ?; r% M: {: x7 j1 l
在程序运行开始,检测控制开关闭合时,定时器1模式为计时开始,6 j( [' g% k1 i( P/ C0 x
当扫描到开关再次闭合,计时停止(得到两次开关闭合时间间隔为假设1000周期,再以定时模式,以前面的计时时间的一半即500周期为定时器2时长开始倒计时。" d, n. y' X6 E% \; Q: G0 t
当倒计时结束,输出取反;
+ J+ D1 d2 P% V" L; M9 s定时器2再以250周期倒计时,倒计时结束时,再次输出取反。# S: B9 X' ]( b4 N& k8 b' Y! q
这里,定时器2需要两次中断,两次写入不同的时间参数。请问如何实现?
. Y4 T* b8 H, f |
|