初级会员

- 积分
- 50
- 金钱
- 50
- 注册时间
- 2013-7-23
- 在线时间
- 0 小时
|

楼主 |
发表于 2013-7-25 15:26:40
|
显示全部楼层
回复【4楼】正点原子:
-------------
比如我要用timer4的4个通道,4个通道输出PWM波,1,2通道分别控制电机正反转,3,4分别控制超声波测距离,mian()函数里面我应该怎样分别使能4个通道使他们互不干扰呢?我现在附上我的程序,上边就两个通道分别实现正反转的,我看不出哪有错,劳烦大神不吝赐教。
int main(void)
{
u16 led0pwmval_1=0;
u16 led0pwmval_2=0;
u8 dir=1;
u8 t=0;
SystemInit();
delay_init(72); //延时初始化
uart_init(9600);
LED_Init();
KEY_Init(); //按键初始化
TIM4_GPIO_Config ();
TIM4_Mode_Config();
TIM4_PWM_Init();
while(1)
{
delay_ms(10);
if(t==1) //电机正转
{
(这里应该加什么样语句呢????)
if(dir)led0pwmval_1++;
else led0pwmval_1--;
if(led0pwmval_1>900)dir=0;
if(led0pwmval_1==0)dir=1;
TIM_SetCompare2(TIM4,led0pwmval_1);
}
else if (t==0)
{
(这里应该加什么样语句呢????)
if(dir)led0pwmval_2++; //电机反转
else led0pwmval_2--;
if(led0pwmval_2>900)dir=0;
if(led0pwmval_2==0)dir=1;
TIM_SetCompare2(TIM4,led0pwmval_2);
}
}
} |
|