|
楼主 |
发表于 2020-3-13 17:27:05
|
显示全部楼层
const PWMTYPE pwmconfig[MAXCH]={
{GPIOE,GPIO_Pin_5,TIM9,PWMCH1}, //PWM1
{GPIOE,GPIO_Pin_6,TIM9,PWMCH2}, //PWM2
{GPIOE,GPIO_Pin_9,TIM1,PWMCH1}, //PWM3
{GPIOE,GPIO_Pin_11,TIM1,PWMCH2}, //PWM4
{GPIOE,GPIO_Pin_13,TIM1,PWMCH3}, //PWM5
{GPIOE,GPIO_Pin_14,TIM1,PWMCH4}, //PWM6
{GPIOH,GPIO_Pin_6,TIM12,PWMCH1}, //PWM7
{GPIOH,GPIO_Pin_9,TIM12,PWMCH2}, //PWM8
{GPIOH,GPIO_Pin_10,TIM5,PWMCH1}, //PWM9
{GPIOH,GPIO_Pin_11,TIM5,PWMCH2}, //PWM10
{GPIOH,GPIO_Pin_12,TIM5,PWMCH3}, //PWM11
{GPIOD,GPIO_Pin_12,TIM4,PWMCH1}, //PWM12
{GPIOD,GPIO_Pin_13,TIM4,PWMCH2}, //PWM13
{GPIOD,GPIO_Pin_14,TIM4,PWMCH3}, //PWM14
{GPIOD,GPIO_Pin_15,TIM4,PWMCH4}, //PWM15
{GPIOC,GPIO_Pin_6,TIM8,PWMCH1}, //PWM16
{GPIOC,GPIO_Pin_7,TIM8,PWMCH2}, //PWM17
{GPIOC,GPIO_Pin_8,TIM8,PWMCH3}, //PWM18
{GPIOI,GPIO_Pin_2,TIM8,PWMCH4} //PWM19
//{GPIOE,GPIO_Pin_6,TIM9,PWMCH2}, //PWM20
};
void SetPwmGpio(char ch)
{
GPIO_InitTypeDef GPIO_InitStructure;
PWMTYPE SetGpioreg;
SetGpioreg = pwmconfig[ch] ;
/* 配置GPIO */
GPIO_InitStructure.GPIO_Pin = SetGpioreg.pin; /* 带入的形参 */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
GPIO_Init(SetGpioreg.IOPORT, &GPIO_InitStructure);
GPIO_PinAFConfig(SetGpioreg.IOPORT,bsp_GetPinSource( SetGpioreg.pin), bsp_GetAFofTIM(SetGpioreg.TIMx));
} |
|