Чт май 31, 2018 12:16:50
TIM_TimeBaseInitTypeDef timer;
TIM_OCInitTypeDef TIM_OCConfig;
void TIM1_Init(uint16_t presc, uint16_t period, uint16_t repCnt)
{
TIM_TimeBaseInitTypeDef timer;
TIM_OCInitTypeDef TIM_OCConfig;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); // тактирование таймера
// выход TIM1_CH1 (F1)
GPIO_mInit(GPIO_Speed_50MHz, GPIO_Mode_AF_PP, GPIOA, GPIO_Pin_8);
TIM_TimeBaseStructInit(&timer); // заполнение поля структуры дефолтными значениями
timer.TIM_Prescaler = presc; // предделитель
timer.TIM_Period = period; // период
timer.TIM_RepetitionCounter = repCnt; // счетчик повторений
TIM_TimeBaseInit(TIM1, &timer); // инициализация TIM1
TIM_ARRPreloadConfig(TIM1, ENABLE);
TIM1->BDTR |= TIM_BDTR_MOE; // включение выхода таймера TIM1
TIM_OCStructInit(&TIM_OCConfig);
TIM_OCConfig.TIM_OCMode = TIM_OCMode_Toggle;
TIM_OCConfig.TIM_OutputState = TIM_OutputState_Enable;
TIM_OC1Init(TIM1, &TIM_OCConfig); // включение канал1 таймера TIM1
TIM_Cmd(TIM1, ENABLE); // включение таймера TIM1_CH1(F1)
}
TIM1_Init(7, 17999, 1);
TIM2_Init(7, 17999);
Чт май 31, 2018 13:19:05
Чт май 31, 2018 13:20:03
Чт май 31, 2018 13:34:12
timer.TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;