我用STM32103VE编程,定时器初始化部分如下:
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //定时器3 时钟使能
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //PB5复用为TIM3的通道2
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //推挽复用
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
/* TIM3局部复用功能开启 在TIM3的局部复用开启时,PB5会被复用为TIM3_CH2*/
GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3 , ENABLE);
这样写定时器中断产生时,PB5对应的灯会闪。
还有两个灯是PD6,PD3,我改为
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; //PB5复用为TIM3的通道2
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //推挽复用
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);
灯就不闪了。
这是什么原因?谢谢!
|