TA的每日心情 | 开心 2022-1-29 15:05 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我的目的是这样:在while(1)里,检测开关条件后运行中断1,运行完后,再调用中断2,两个中断设置的参数不一样。比如:
+ ]2 Y. Z( w* F
2 M8 q3 U0 d/ ^void main();* l) @4 X9 @, p& d5 {* g9 L, J) x3 I1 n
{
, G6 u) O7 X5 r7 ^* w InitTimer0();2 L0 o4 A4 E' a9 h
, I; p% _& \( W: i& aled==~led;
, V3 H% z0 j7 j! f8 {. ~6 f InitTimer1();
2 I; Q6 k% I& B& K. R) [
: d7 q; b/ \9 m% _. eled1==~led1
; x- }, K7 [% Y8 F5 b: {2 r}
e* ]" f8 d( e4 j) N9 w! j; J X; {9 Y
void time0() interrupt 1
2 L+ H3 A% Z* l7 a{TH0=0XDD;
7 K" ?! Z% [! s- M# b8 Y& z tTL0=0Xa4;! g" L: i: H5 J! v& i7 i' {' `
pp++;
2 K B! K0 d1 P}
+ w1 U5 a, u9 A1 u' i. y2 Z# a! h# S; B5 O) w9 V' D S
void time1() interrupt 1. X* A0 e; z4 ~' E/ H/ M+ t
{TH0=0Xff;& _* i0 v; B# Z, g
TL0=0Xa4;5 v- T3 p( W" Y# O4 ~- |5 L
pp++;% ~! }% Z+ e: ]/ ]9 Y
}1 e: S z4 ]: C6 ^; m
. p, o, S4 w' X: M请问以上程序可行吗?
5 T% N; i4 Q/ G- \' f* M0 ?" O没有表达清楚,补充一下:我的程序目的是
?3 `0 R b3 l; Y _在程序运行开始,检测控制开关闭合时,定时器1模式为计时开始,4 ?3 e" x$ W& z& n$ }
当扫描到开关再次闭合,计时停止(得到两次开关闭合时间间隔为假设1000周期,再以定时模式,以前面的计时时间的一半即500周期为定时器2时长开始倒计时。
+ Z: y U) i7 `: Z当倒计时结束,输出取反;& b; [! S+ t5 K( X; n4 ^
定时器2再以250周期倒计时,倒计时结束时,再次输出取反。
; p5 H5 N9 e6 y" b( ]这里,定时器2需要两次中断,两次写入不同的时间参数。请问如何实现?" w% d, m' D/ y) B3 @8 {
|
|