我的战队
关于官方提供的地盘电机驱动板的问题
官方给的板子。没有保护好像。。有的时候会烧板子。。我也正在研究原因。。知道的大神多多指教。。
这是我写的程序。。共享出来。。请各位大神给看看。。有没有什么原则性的问题。谢谢啦。

#include "main.h"
int motor_state=1;
short motor_speed=0;
//PA8----EN
//PA9----PWM---TIM1_CH2
//PA10---EN
//PA11---PWM---TIM1_CH4
//试试9,10 一对 8,11,一对
//TIM1->CCER=0<<4; ch2
//TIM1->CCER=0<<12; ch4

/*************************************************************************
PWM初始化
*************************************************************************/
void motor_data_deal(int value)
{
if(value!=0)
{

if(value>0)
{
motor_speed=value;
motor_state=2;
}
else
{
motor_speed=-value;
motor_state=0;
}


}
else
{
motor_speed=0;
motor_state=1;
}
}
void MOTOR_RUN( char state ,short speed)
{
// GPIO_ResetBits(GPIOA,GPIO_Pin_8);
//GPIO_ResetBits(GPIOA,GPIO_Pin_10);
if(state!=1)
{
if(state>1)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_10);//10
GPIO_ResetBits(GPIOA,GPIO_Pin_8);//8
TIM1->CCER=0<<4; //ch2
TIM1->CCER=0<<12; //ch4
TIM1->CCR2=(uint16_t)5000-speed;//9 pwm
TIM1->CCER=1<<4; //ch2
GPIO_SetBits(GPIOA,GPIO_Pin_10);//8


}
else
{
GPIO_ResetBits(GPIOA,GPIO_Pin_8);//10
GPIO_ResetBits(GPIOA,GPIO_Pin_10);//8
TIM1->CCER=0<<4; //ch2
TIM1->CCER=0<<12; //ch4
TIM1->CCR4=(uint16_t)5000-speed;//9 pwm
TIM1->CCER=1<<12; //ch4
GPIO_SetBits(GPIOA,GPIO_Pin_8);//8

}
}
else
{
TIM1->CCER=0<<4; //ch2
TIM1->CCER=0<<12; //ch4
TIM1->CCR2=0;
TIM1->CCR4=0;
GPIO_ResetBits(GPIOA,GPIO_Pin_8);
GPIO_ResetBits(GPIOA,GPIO_Pin_10);
}

}
请问这篇文章对你有用吗?
关于官方提供的地盘电机驱动板的问题
所有评论
暂无更多
关于作者
快乐的小2B
快乐的小2B
0 关注Ta
0 文章
0 经验值
0 获赞