重置设没有成功

TIM3的GPIO进行重映射不成功是什么原因



void TIM3_PWMOut_Init( u16 arr, u16 psc, u16 ccp )

{

    GPIO_InitTypeDef GPIO_InitStructure;

    TIM_OCInitTypeDef TIM_OCInitStructure;

    TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;


    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE );

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE );

    TIM_DeInit(TIM3);

    GPIO_PinRemapConfig(GPIO_FullRemap_TIM3,ENABLE);


    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_6|GPIO_Pin_9|GPIO_Pin_8;

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

    GPIO_Init( GPIOC, &GPIO_InitStructure );


    TIM_TimeBaseInitStructure.TIM_Period = arr;

    TIM_TimeBaseInitStructure.TIM_Prescaler = psc;

    TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;

    TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;

    TIM_TimeBaseInit( TIM3, &TIM_TimeBaseInitStructure);

image.png

您好,将GPIO引脚进行复用使用重映射功能时,要开启复用时钟使能,你可以在程序中加上下面这段程序试一试,加上去应该就可以了。

RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO, ENABLE);




只有登录才能回复,可以选择微信账号登录