新手入门
积分 25
金钱 25
注册时间 2015-10-24
在线时间 0 小时
5 金钱
本来想输出一个带死区的互补PWM,可就是没有输出啊,而且这几句 会报错 TIM_Cmd(TIM1,ENABLE);
code\pwm.c(41): error: #167: argument of type "TIM1_TypeDef *" is incompatible with parameter of type "TIM_TypeDef *"
这是什么情况啊!!跪求高手指点!
void TIM_Configuration(u16 arr,u16 psc)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_BDTRInitTypeDef TIM_BDTRInitStructure;
TIM_TimeBaseStructure.TIM_Period=arr;
TIM_TimeBaseStructure.TIM_Prescaler=psc;
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseStructure.TIM_ClockDivision=0;
TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;
TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure);
TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_Pulse=0;
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High; //CCER?CC1P,??/??????
TIM_OCInitStructure.TIM_OCNPolarity=TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable; //CER?CC1N,??/??????
TIM_OCInitStructure.TIM_OutputNState=TIM_OutputNState_Enable;
TIM_OCInitStructure.TIM_OCIdleState=TIM_OCIdleState_Set; //OIS1?
TIM_OCInitStructure.TIM_OCNIdleState=TIM_OCNIdleState_Reset; //CR2?OIS1N?,?MOE?0?,???????OIS1N.
TIM_OC1Init(TIM1, &TIM_OCInitStructure);
TIM_OCInitStructure.TIM_Pulse=0;
TIM_OC2Init(TIM1, &TIM_OCInitStructure);
TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable; //???????? ??????? OSSR
TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable; //???????? ??????? OSSI
TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_1; //?????1
TIM_BDTRInitStructure.TIM_DeadTime = 20; //???????? ????????? ? 1US
TIM_BDTRInitStructure.TIM_Break = TIM_Break_Enable; //????
TIM_BDTRInitStructure.TIM_BreakPolarity = TIM_BreakPolarity_High; //?????? ???
TIM_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable;//????????
TIM_BDTRConfig(TIM1, &TIM_BDTRInitStructure);
TIM_Cmd(TIM1,ENABLE);
TIM_CtrlPWMOutputs(TIM1, ENABLE);
我来回答