一.
函数:TIM_CtrlPWMOutputs(TIM8, ENABLE);
作用:TIMx->BDTR |= 0x8000;
->置高级定时器TIM1&TIM8的BDTR的15位为1,使能OC&OCN输出。
默认为0:强制禁止OC&OCN输出
故:在使用高级定时器输出PWM时必须调用此函数
void TIM_CtrlPWMOutputs(TIM_TypeDef* TIMx, FunctionalState NewState)
{
/* Check the parameters */
assert_param(IS_TIM_LIST2_PERIPH(TIMx));
assert_param(IS_FUNCTIONAL_STATE(NewState));
if (NewState != DISABLE)
{
/* Enable the TIM Main Output */
TIMx->BDTR |= TIM_BDTR_MOE;
}
else
{
/* Disable the TIM Main Output */
TIMx->BDTR &= (uint16_t)(~((uint16_t)TIM_BDTR_MOE));
}
}
BDTR->位 15一旦刹车输入有效,该位被硬件异步清 ’0’ 。根据 AOE 位的设置值,该位可以由软件清 ’0’ 或被自动置1 。它仅对配置为输出的通道有效。0 :禁止 OC 和 OCN 输出或强制为空闲状态;1 :如果设置了相应的使能位 (TIMx_CCER 寄存器的 CCxE 、 CCxNE 位 ) ,则开启 OC 和 OCN 输出。
二.
关于单片机stm32默认引脚B3,B4主功能是JTDO,NJTRS,想使用IO功能时需要重定义功能
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
stm32 B3B4引脚当IO使用_LqNanfangdexue的博客-CSDN博客