|
发表于 2011-5-2 23:19:30
|
显示全部楼层
建议将timer()函数改写为参数传递机制:3 D/ O$ p1 B; G+ L- z
int timer0(int par)7 Z$ J& l6 Q$ E+ Q- v+ Z
{
. {- E) w% e/ W7 M* {- l' K/ N switch(par)
r L: n) v0 c& `; @$ R! H4 J{5 ^2 E0 i8 [( ~% m" |8 b
case 1:
0 P7 C. ?: R& H& G+ v9 ` C$ m...
0 D, s8 U( M* d! f3 o...
; a" D8 u! N7 Ycase 12:
4 I& y1 M1 @. z; q PWM0_5=0 ;9 o8 C+ G6 q1 @9 g& a; q
TH0=-(3300-PWM_Value1[5])/256;-
9 J, L, X3 A. `& s s$ s TL0=-(3300-PWM_Value1[5])%256;
* `" B. r9 N+ x# ~! ^ order1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则=1。/ A$ b# R4 A6 h2 c% p: ~2 \
TR1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则清零。
! ~. [3 h) f" e" j break;;* `/ G. S* j+ |% A4 A. I
}6 o( Y& G+ \8 J' C* K5 J1 F
return(par++);
, L1 r+ i/ e0 E}8 A0 k0 c: t* R/ l* b
0 g6 f T7 M" @
在主函数中调用timer0()的语句:
: r$ c6 _* Y& v3 Qorder1=timer0(order1);
' B3 M; h8 v4 n# g. Rif(order1==13) {order1=1; TR1=0;}
. n6 U- j' t6 {+ W# `; u8 {/ Y |
|