Gast
#3643959
Hallo, Ich hab jetzt ein "STM32f4 discovery" board. ich versuche jetzt einen Motortreier über ein PWM-Signal zu steuern. ich soll Taktsignal für den Motortreiber generieren, über zwei kannäle. eine über den Timer1_Channal_4 PortE_Pin14 und eine Timer3_Channal_4 PortC_Pin9 Code für Timer1 und Timer3 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; TIM_BDTRInitTypeDef TIM_BDTRInitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); P_SCCKL_InitIO(PWM_Motor); GPIO_PinAFConfig(GPIOE, GPIO_PinSource14, GPIO_AF_TIM1); TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseStructure.TIM_Period = TIM1_PERIOD; TIM_TimeBaseStructure.TIM_Prescaler = TIM1_PRESCALER; TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OCInitStructure.TIM_Pulse = TIM1_PULSE_CH1; TIM_OC4Init(TIM1, &TIM_OCInitStructure); TIM_OC4PreloadConfig(TIM1, TIM_OCPreload_Disable); TIM_Cmd(TIM1, ENABLE); TIM_CtrlPWMOutputs(TIM1, ENABLE); N.B der Beispiel-Code ist hier nur für Timer1. Timer3 habe ich genauso Initialisiert. wie auf dem Bild sehen sie leider unterschiedlich. Hat irgendjemand eine Idee, woran diese komische effect liegen könnte.
