|
发表于 2011-5-2 23:19:30
|
显示全部楼层
建议将timer()函数改写为参数传递机制:
2 b- B) Z' K# h$ bint timer0(int par)$ Z) h9 B' d# P( |2 c$ P5 _
{/ N! v' l9 ?" W- m) p2 ^$ x
switch(par)
, y. \( h( r; \ [: G{
' a0 m7 F" w& n5 S# b2 @# p- H3 vcase 1:
* b; ]8 o: A% r( ^' F* B...) w/ J: [/ Q1 F2 o9 o% L
...& n0 [" y: J. x b/ R* P
case 12:
8 S# P/ N+ {" o3 P% |% m7 D PWM0_5=0 ;. O! r6 P8 ?3 f6 A" D" ^
TH0=-(3300-PWM_Value1[5])/256;-
6 F9 a+ J( Y' Z' @# a! j. J/ i TL0=-(3300-PWM_Value1[5])%256;5 o9 w: `9 i, U, \: \
order1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则=1。
8 i) }9 r. f5 q/ j TR1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则清零。
1 U; X2 k( S; M break;;2 K0 ^/ Y' W6 s3 o
}
7 L" K d9 Z& h% N$ R$ @) U& m5 b8 _return(par++); " \! T% C" X; o+ P' k5 E
}
) P& a( A% I1 J& r' D" a# V
: F- g) G; p+ V/ G# `7 _6 ~2 q- |) _在主函数中调用timer0()的语句:' d: \7 o1 b; }& m$ g6 J( M
order1=timer0(order1);# h. l H0 j/ ?/ k) m W8 l
if(order1==13) {order1=1; TR1=0;}
- z" _2 v' m: L! z$ [: _" ~" a |
|