TA的每日心情 | 开心 2022-1-29 15:05 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我的目的是这样:在while(1)里,检测开关条件后运行中断1,运行完后,再调用中断2,两个中断设置的参数不一样。比如: . d# p7 y! {/ M9 z
; p [% B; y* c" m" hvoid main();
7 M$ `: s$ |; k5 E: y/ f' X{
9 d, _/ o5 j2 x. o0 a1 I InitTimer0();
# Z4 D6 B5 A$ t; j3 l9 _4 F. C' i9 }8 x- ?% w
led==~led;
% ^1 g0 J1 A4 i# T/ ^- {$ [ InitTimer1(); |* T; g5 x3 A- I, v) f
5 H4 x: N _7 U- u( d
led1==~led1
# n5 Q( |4 V0 r}
. `+ w9 n/ S0 t( D: C& ?7 H Q5 r) c, f) |7 @$ ^
void time0() interrupt 1" G/ l0 s; u. I# |! m/ ?
{TH0=0XDD; . n" e& m0 L% P7 Z8 n5 N
TL0=0Xa4;0 |4 v6 e& {+ C3 b' N y6 s6 n
pp++;
9 x+ J2 e+ D9 u, M; }6 C, f}+ v. J% o0 r5 H' Y
/ Q# H4 }& C5 Q5 }; R1 \* z
void time1() interrupt 1
' t4 [% y: P: e' L3 H2 D h{TH0=0Xff;( I$ Z6 [) q8 c5 G6 j' `3 D
TL0=0Xa4;
0 O& x5 A0 U$ Y; L6 vpp++;
; B+ [4 X* f4 x) e3 b+ y2 a}6 Y6 U; x" O& {# t
+ \7 S* Y+ \% o+ O t
请问以上程序可行吗?
8 Q7 x3 W( a, m L没有表达清楚,补充一下:我的程序目的是+ f/ D6 i$ w, O$ S- p
在程序运行开始,检测控制开关闭合时,定时器1模式为计时开始,
! S* O' p/ u: i7 J$ o0 b当扫描到开关再次闭合,计时停止(得到两次开关闭合时间间隔为假设1000周期,再以定时模式,以前面的计时时间的一半即500周期为定时器2时长开始倒计时。1 P8 `1 P+ i' R/ Q) E* U
当倒计时结束,输出取反;3 A" y: x6 R! p! ?- u
定时器2再以250周期倒计时,倒计时结束时,再次输出取反。
, p) j s6 v) h; _* q) ]这里,定时器2需要两次中断,两次写入不同的时间参数。请问如何实现?9 E1 Q" C8 `. E4 k/ r
|
|