金牌会员
- 积分
- 1362
- 威望
- 727
- 贡献
- 387
- 兑换币
- 418
- 注册时间
- 2012-6-29
- 在线时间
- 124 小时
|
直立摄像头组。
**********************************************************************/
/**************************** 电机PWM_正转 **************************/
/**********************************************************************/
void PWM_Motor1(char x)
{
PWME_PWME2 = 0; // 禁止PWM输出
///////////////////选择时钟////////////////////////////
PWMCTL_CON23 = 0; //通道不级联
PWMPRCLK = 0; //clock A = Clock B = BUSCLK
PWMCLK_PCLK2 =1; //时钟来源选择 Clock SA
PWMSCLA = 0X10; //CLOCKSA = 1MHz
///////////////////选择极性//////////////////////////////
PWMPOL_PPOL2= 1; //PWM输出起始是高电平
//////////////////选择对齐方式////////////////////////////
PWMCAE_CAE2 = 0; //左对齐方式
///////////////////设置周期和占空比////////////////////////
PWMPER2 = 0Xff; //输出周期 = (1/2M)*(255)=255us
PWMDTY2 = x; //占空比 = [PWMDTYx/PWMPERx]*100%
PWMCNT2= 0; //计数器清零
///////////////////使能通道///////////////////////////////////
PWME_PWME2=0; //启动PWM输出
}
void PWM_Motor2(char x)
{
PWME_PWME3 = 0; // 禁止PWM输出
///////////////////选择时钟////////////////////////////
PWMCTL_CON23 = 0; //通道不级联
PWMPRCLK = 0; //clock A = Clock B = BUSCLK
PWMCLK_PCLK3 =1; //时钟来源选择 Clock SA
PWMSCLA = 0X10; //CLOCKSA = 1MHz
///////////////////选择极性//////////////////////////////
PWMPOL_PPOL3= 1; //PWM输出起始是高电平
//////////////////选择对齐方式////////////////////////////
PWMCAE_CAE3 = 0; //左对齐方式
///////////////////设置周期和占空比////////////////////////
PWMPER3 = 0Xff; //输出周期 = (1/2M)*(255)=255us
PWMDTY3 = x; //占空比 = [PWMDTYx/PWMPERx]*100%
PWMCNT3= 0; //计数器清零
///////////////////使能通道///////////////////////////////////
PWME_PWME3=0; //启动PWM输出
}
我为了检验电机驱动模块是否正常,就给PWMDTY2 和PWMDTY3 分别 给个初值0Xfe,也就是占空比是0XFE/OXFF。按理来说,这时候,2个电机都应该以一定的速度开始正转呀,可是电机却丝毫不动。。。都好几天了,现在不知道该怎么办了。只好来论坛里求助,希望大家不要觉得问题简单就不理我了,我卡在这干脆没办法了。。PS,早上又检查了一遍电机驱动模块,用万用表测量了一下,发现也没什么问题呀。没有断路的情况。。
|
|