|
发表于 2011-5-2 23:19:30
|
显示全部楼层
建议将timer()函数改写为参数传递机制:
2 A) `3 N, N& u& X6 E7 i$ B2 Fint timer0(int par)
+ g: R' v3 N3 k. \& m{
1 k4 g: b; y% n* W% C6 N switch(par)7 _2 M( I" X6 s
{
9 @" z. V8 W0 Y, X$ [9 @2 J5 Ucase 1:
! _) v$ E8 ^% Y* M# f...1 V/ D, e4 A4 j$ |8 P+ W
...
4 y- ?+ T" j/ J& j4 L# S, w+ ucase 12:
2 P. L( G8 o) M5 J/ o: {6 d* g2 y9 z6 g PWM0_5=0 ;$ V' {9 k l1 }7 \5 C1 t. ?
TH0=-(3300-PWM_Value1[5])/256;-7 q- C7 j8 ?, l- E q
TL0=-(3300-PWM_Value1[5])%256;8 X, q( ^5 W+ ]8 Y# n1 ~/ S3 f
order1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则=1。+ }9 C' J* t! O8 w& {
TR1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则清零。6 V0 r; [; [5 B
break;;, M" e/ ~0 s( m, R& K0 W. F
}
; @( a! `/ r; e F, L4 a9 Yreturn(par++);
# L; l' K& l0 u: F# n} T- B5 N7 `: j" O+ _: I. {
% L+ k/ {" j8 q4 e7 s" z$ k; \
在主函数中调用timer0()的语句:! E0 M1 R' K6 W% D$ E' `0 \
order1=timer0(order1);
) Q, b, l( i1 {& {- Kif(order1==13) {order1=1; TR1=0;}) k4 ^- W/ ^1 l. O1 D
|
|