|
发表于 2011-5-2 23:19:30
|
显示全部楼层
建议将timer()函数改写为参数传递机制:( I- j% ]7 `% N7 @7 k0 ?
int timer0(int par)' M! R# V" w- ~9 y4 Y- A0 a4 L# e( s
{6 @3 K q$ b- x8 J1 j
switch(par), v, A* a# N6 U" E
{6 L: |7 T! o7 v; S4 {# I
case 1:+ t' V I. u. Y1 d- S
...1 v; ~( V( j- x5 ?/ b
...' a0 r4 H9 P& [% ~
case 12: 3 _1 z: h5 a5 l c
PWM0_5=0 ;
5 a7 n& R% Q; L# s! s TH0=-(3300-PWM_Value1[5])/256;-1 E8 u$ s7 e0 O6 _# ~, U5 H
TL0=-(3300-PWM_Value1[5])%256;5 e& C- F6 j; [7 G
order1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则=1。
. \' d2 ]$ x3 K TR1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则清零。$ \; L4 T* r4 ` W
break;;
3 L; z! h, m9 Q; ^; b/ N4 b}, n9 b1 c0 Q( i) y) ?) k \/ j
return(par++); ; j* R) N: d7 L5 |8 t$ N
}
2 a, y3 ^5 ~. P
3 i. |; l4 v( K: ~在主函数中调用timer0()的语句:+ s1 L% l$ C% D2 b; R4 `; s
order1=timer0(order1);* N1 [9 ~+ U$ P+ L+ @6 c S4 L6 r
if(order1==13) {order1=1; TR1=0;}
j; {/ u# a1 F' H2 \3 e |
|