|
发表于 2011-5-2 23:19:30
|
显示全部楼层
建议将timer()函数改写为参数传递机制:1 l7 _) ?0 P7 N& ^* V9 C/ k
int timer0(int par)- b x) Q4 {" I5 a, _
{2 q5 G ~" E. ~ M+ b) v$ y6 A
switch(par)! m2 A" i4 a2 m9 t0 _' M" U
{& |8 j- {' c; R8 t4 A. i
case 1:2 P% g4 g1 ]/ C! a
...
6 t+ U/ P" ]9 ]* [5 T$ W$ g...& c6 P$ s; z0 x
case 12: 4 H* f+ @- }/ U5 t% m' u0 V
PWM0_5=0 ;% Z2 e, N2 f0 a; B. Y5 U
TH0=-(3300-PWM_Value1[5])/256;-
/ _" K& m2 o; A# }8 `+ k! O2 d( B TL0=-(3300-PWM_Value1[5])%256;
0 {6 k7 E* E4 y( U# l& \) z$ P9 K" d order1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则=1。
- g5 N+ D3 X# x' I& B TR1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则清零。
$ N# n, t P/ p) E2 N/ S/ ^1 a break;;
4 E) m8 B. g' M$ n) H4 w7 ?}
% b% a2 n* d$ `) I: Sreturn(par++);
5 [0 j5 v' d$ F- a% J$ ^$ V8 R}( r) Q" H# A; Q7 ~& X0 [( \# W
" y& \9 s3 G, ^
在主函数中调用timer0()的语句:
* T- w2 [2 y" \+ D/ ?' porder1=timer0(order1);
# X0 b" N4 l+ |7 B; Cif(order1==13) {order1=1; TR1=0;}
V4 U7 ^4 _. h( w |
|