中级会员
- 积分
- 490
- 威望
- 270
- 贡献
- 118
- 兑换币
- 102
- 注册时间
- 2012-9-18
- 在线时间
- 51 小时
- 毕业学校
- 合肥工业大学
|
#include "common.h"
#include "include.h"
#define Mid_duty 7600
#define Half_Right 8800
#define Right 9500
#define Half_Left 6000
#define Left 5500
/*************************************************************************/
void Init_PWM()
{
FTM_PWM_init(FTM0,CH0,35000,30); //电机驱动,为FTM0_CH0,PTC1此时占空比为0
FTM_PWM_init(FTM0,CH1,35000,800); //舵机驱动初始化,为FTM0_CH1,PTC2
FTM_PWM_init(FTM0,CH2,35000,10); //电机驱动,为FTM_CH2,PTC3
FTM_PWM_init(FTM1,CH0,35000,10);
}
void Direction_Motor()
{
//舵机处于之间值
FTM_PWM_Duty(FTM0,CH1,Mid_duty);
time_delay_ms(500);
//开始右偏
FTM_PWM_Duty(FTM0,CH1,Half_Right);
time_delay_ms(500);
FTM_PWM_Duty(FTM0,CH1,Right);
time_delay_ms(500);
FTM_PWM_Duty(FTM0,CH1,Mid_duty);
time_delay_ms(500);
//开始左偏
FTM_PWM_Duty(FTM0,CH1,Half_Left);
time_delay_ms(500);
FTM_PWM_Duty(FTM0,CH1,Left);
time_delay_ms(500);
FTM_PWM_Duty(FTM0,CH1,Mid_duty);
time_delay_ms(500);
}
void Motor()
{
FTM_PWM_Duty(FTM0,CH0,60); //控制电机正转
FTM_PWM_Duty(FTM0,CH2,0); //反转
}
void main()
{
// DisableInterrupts;
Init_PWM();
u32 i;
//当前为输入状态
// EnableInterrupts;
while(1)
{
Direction_Motor();
// Motor();
for (i=10; i>1; i--)
{
FTM_PWM_Duty(FTM1,CH0,i*10);
time_delay_ms(100);
}
}
}
这是我写的程序,,,不知道哪有问题???
|
|