|
发表于 2011-5-2 23:19:30
|
显示全部楼层
建议将timer()函数改写为参数传递机制:& q, Q ^$ E/ g9 r
int timer0(int par)( k I, p; I5 v' ]& i
{
3 E: X( R2 A4 Y$ c R; e! B8 \ switch(par)
; _. l. b+ @# Q4 f( f; v4 T{8 l' Y5 l d/ l- I. B
case 1:# J! y r3 B# y/ g
...9 l2 T) `" n9 n" @* j4 Q
...1 s! N& Y' p' N$ g
case 12: 8 `; r+ G/ n' {7 x0 X
PWM0_5=0 ;7 ^% y8 ? Z: A7 M8 l
TH0=-(3300-PWM_Value1[5])/256;-
4 h% B! z Q% u* r, @/ g1 G ] TL0=-(3300-PWM_Value1[5])%256;
7 b* v4 k/ h: Q! o" z" { order1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则=1。
0 {3 z x2 T; n4 O# e2 W; _6 e TR1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则清零。( Z6 K0 D, W1 e, E8 n
break;;
$ r. i7 d, t8 e7 {, y% W& K, v" P}% j( w, H1 w, T4 b- b2 x4 B
return(par++); * R$ g) d" \! w, r
}
L Y3 n M- t8 B
; r( D( Y. ?. M# v" ?# D在主函数中调用timer0()的语句:
3 w/ ?0 U$ B( O; g; p" s4 `/ Uorder1=timer0(order1);8 i1 {5 V) y$ [% Q3 o2 ]9 V
if(order1==13) {order1=1; TR1=0;}
" \$ H" R7 p3 \$ H# ?+ z |
|