Да, обязательно!
Оно включено в инициализации I/O
Вот полная инициализация:
CODE
void Init_PWM(void)
{
RCC->APB1ENR |= RCC_APB1ENR_TIM14EN;
/*Configure GPIO pin alternate function */
GPIO_PinAFConfig(GPIOA, GPIO_PinSource4, GPIO_AF_4);
GPIOA->MODER |= 0x0200;
TIM14->CR1 |= 0x0080;
TIM14->CCMR1 |= 0x0064; // pwm mode
TIM14->ARR = 0x000F;
TIM14->PSC = 0x000F;
TIM14->CCER |= 0x0001; // capt/comp out enable
TIM14->CR1 |= 0x0001; // tim en
}
/**
* @brief GPIO configuration
* @param None
* @retval None
*/
void Init_GPIO(void)
{
/* Private typedef ---------------------------------------------------------*/
GPIO_InitTypeDef GPIO_InitStruct_butt;
GPIO_InitTypeDef GPIO_InitStruct_led;
GPIO_InitTypeDef GPIO_InitStruct;
//GPIO_InitTypeDef GPIO_InitStruct_led1;
/*Enable or disable the AHB peripheral clock */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);
/** Configure pins as GPIO for USER button
PA0 ------> GPIO_Input
*/
/* Configure Button pin as input */
GPIO_InitStruct_butt.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStruct_butt.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_InitStruct_butt.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1;
GPIO_Init(GPIOB, &GPIO_InitStruct_butt);
/*Configure GPIO pin */
GPIO_InitStruct_led.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15|GPIO_Pin_11;
GPIO_InitStruct_led.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct_led.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct_led.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStruct_led.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStruct_led);
/*Configure GPIO pin */
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOA, &GPIO_InitStruct);
/*Configure GPIO pin */
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_4;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOC, &GPIO_InitStruct);
}
Сообщение отредактировал IgorKossak - Nov 14 2013, 19:30
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!