|
发表于 2011-5-2 23:19:30
|
显示全部楼层
建议将timer()函数改写为参数传递机制:
) \# [5 j4 y' @. F- N) Yint timer0(int par) K/ c# @! i5 R- q
{6 R% @$ t: K+ W7 X
switch(par)
/ Q! Z+ L' B/ e9 w{
( k0 W( k* H8 W2 b+ B% Pcase 1:+ d5 t1 i" |" q, M# e2 ~) ^) K
...5 m! L% L0 v3 q) j- \# o v
...& P0 z% d: H) i( l# G4 c
case 12:
5 w7 Z# `; k8 C. n PWM0_5=0 ;
6 h7 t5 y3 ^* Q: ]+ k TH0=-(3300-PWM_Value1[5])/256;-! H% P4 m: x5 m1 f- z
TL0=-(3300-PWM_Value1[5])%256;
6 t0 ?% B" J* G0 i order1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则=1。
! E1 L o, s" H U" ] TR1=0; //为什么要在这里清零?建议删除该行,改为在主函数中调用timer0()后,判断如果order1==13,则清零。
1 A& b, R; X, y" W6 r$ ] break;;
( k; [4 ^7 J' N, J* x0 }' \. _}
) f% z5 m# {; V& E9 x3 |4 N- {4 i& zreturn(par++);
$ @, I! {& D. h0 x- r3 m}0 L/ @2 a& L5 U& r; Q6 N
) l v! A& ?; ` X
在主函数中调用timer0()的语句:' I$ F- K1 ]/ V" O0 V# G6 u8 f
order1=timer0(order1);
1 ^5 P+ @! C2 }1 v! sif(order1==13) {order1=1; TR1=0;}
" Y8 M4 k/ U& h0 t0 n5 h( U |
|