高级会员
- 积分
- 766
- 威望
- 415
- 贡献
- 205
- 兑换币
- 130
- 注册时间
- 2012-2-12
- 在线时间
- 74 小时
|
liu1guo2qiang3 发表于 2012-5-23 18:04
首先确定下占空比是否正确~~
void PWM_init(void)
{
int b=2000;
PWME=0x00; //禁止
PWMCTL=0Xf0; //01,23,45,67级联,其中23,67是电机 ,01是舵机 ,奇数是控制字
PWMCLK=0x0f; //01,23选择clockSA或CLOCKSB
PWMPRCLK=0x33; //CLOCKA=CLOCKB=64/8^1=8M
PWMSCLA=0x02; //CLOCK SA=ClockA/(2*PWMSCLA 1)=2M
//PWMSCLB=0x04; //CLOCK SB=1M
PWMPOL=0xff; //全部先高后低
PWMCAE=0x00; //左对齐
//电机
// PWMPER23=2000; //F=1KHZ PWM45驱动电机正转
//PWMDTY67=2000; //F=1KHZ PWM45驱动电机反转
//舵机
PWMPER01=40000; //2000000HZ/50=40000(50hz)
PWMDTY01=b; //车轮不动的占空比,
}
//duojichuli();
a=averge-mid; //误差值
duojipwm=b+2.2222*a;
PWME_PWME1=0; //禁止
PWMDTY01=duojipwm; //不动
PWME_PWME1=1; //使能
|
|