cancel
Showing results for 
Search instead for 
Did you mean: 

Break / PWM - STM32F4

finnb2
Associate II
Posted on September 27, 2012 at 10:41

Hi Folks, 

I like to disable PWM, on an external event - i want to use BKIN. 

i set the break mechanism up like this 

------

......

    GPIO_PinAFConfig(GPIOB, GPIO_PinSource12, GPIO_AF_TIM1); 

    /* Automatic Output enable, Break, dead time and lock configuration*/

    TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable;

    TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSRState_Enable;

    TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_1;

    TIM_BDTRInitStructure.TIM_DeadTime = 30;

    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);

....

PWM works, but when i activate PB.12, nothing happens... i expect PWM to stop ... .

any hints ??

/Finn

#gpio-bkin
3 REPLIES 3
jpeacock2399
Associate II
Posted on September 27, 2012 at 16:15

Did you configure the BKIN as an alternate function pin? Here's how I set it up:

GPIO_PinAFConfig(GPIOE, GPIO_PinSource15, GPIO_AF_TIM1); // BKIN GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; // input w/pullup GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; // slow inputs GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15; // winding fault (BKIN) GPIO_Init(GPIOE, &GPIO_InitStructure); 

Jack Peacock

Posted on September 27, 2012 at 16:19

TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable;

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
finnb2
Associate II
Posted on September 27, 2012 at 18:40

Hi all, 

problem solved by setting BKIN to GPIO_Mode_AF....

Thanks for your time....