|
发表于 2011-5-2 23:19:30
|
显示全部楼层
建议将timer()函数改写为参数传递机制: B1 S2 r! Y' c; |! {' k
int timer0(int par)
# f, L- H2 X5 S* o+ g; x# H{ j K) v0 ^1 I( R
switch(par)* W3 a+ c- R; J* H2 p: O
{
0 z* u t) Q$ j3 B" acase 1:# D3 [; b% u( B" t4 N/ T
...
% S. o4 b( W& e' R...7 N5 K" H, Z- g. k0 l
case 12: ) s* }: s7 [ O$ b/ p4 M7 f5 s
PWM0_5=0 ;
& o9 V& ~9 Y; \4 \2 z* O' z+ n7 | TH0=-(3300-PWM_Value1[5])/256;-1 V1 r# e$ J! V# O
TL0=-(3300-PWM_Value1[5])%256;
3 |9 d6 N2 {8 b order1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则=1。& t. Z9 a I, U; G
TR1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则清零。. y* d: {, K4 K: p* P' T3 W/ ^) D$ o
break;;
2 P/ O. b9 [8 g% ]- _! y9 t}4 J5 }2 i @9 L. u
return(par++); $ W9 s6 [0 a2 k- c3 Z
}
* u3 g q6 |9 ?0 i0 @# `# S0 Q9 J9 b8 q: Y d& @' K5 R
在主函数中调用timer0()的语句: C# K0 u# ^ l0 k8 }# A
order1=timer0(order1);
9 y( a1 K5 ?5 A0 z( qif(order1==13) {order1=1; TR1=0;}/ D" ]3 e* H- f, K! h9 Q
|
|