Доброго времени суток всем.
В текущий момент разбираюсь с ШИМ, объектом манипуляций являются две сервы SG90.
Посмотрел на примеры в уроках, и кое-как сваял функцию для управления сервой.
CODE
void Hard_PWM (void){
TIM_TimeBaseInitTypeDef TIM_Time_user;
TIM_OCInitTypeDef Hard_PWM_ini;
GPIO_InitTypeDef GPIO_Init_LED;
TIM_ICInitTypeDef TEST_Dop;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
GPIO_Init_LED.GPIO_Pin = GPIO_Pin_12;
GPIO_Init_LED.GPIO_Mode = GPIO_Mode_AF;
GPIO_Init_LED.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_Init_LED.GPIO_OType = GPIO_OType_PP;
GPIO_Init_LED.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_PinAFConfig (GPIOD, GPIO_PinSource12,GPIO_AF_TIM4);
GPIO_Init(GPIOD, &GPIO_Init_LED);
Hard_PWM_ini.TIM_OCMode=TIM_OCMode_PWM1;
Hard_PWM_ini.TIM_OutputState=TIM_OutputState_Enable;
Hard_PWM_ini.TIM_Pulse=0; //250-1000
Hard_PWM_ini.TIM_OCPolarity=TIM_OCPolarity_High;
TEST_Dop.TIM_Channel = TIM_Channel_1;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
TIM_Time_user.TIM_Prescaler = 83;
TIM_Time_user.TIM_CounterMode = TIM_CounterMode_Up;
TIM_Time_user.TIM_Period = 19999;
TIM_Time_user.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseInit(TIM4, &TIM_Time_user);
TIM_Cmd(TIM4, ENABLE);
TIM_OC4Init(TIM4, &Hard_PWM_ini);
}
В юзер мануале (UM1472) на странице 30 указано, что выходу PD12 соответствует первый канал таймера 4 (TIM4_CH1), PD13 - второй, PD14 -третий и четвертый для PD15 .
Вопрос в следующем - можно ли использовать одновременно 4 различные функции для разных ножек, но с одним таймером (это будет нога гексапода)? Ну и конечно был бы очень благодарен за подсказку в каком направлении читать и рыть.
Я еще плохо ориентируюсь в чтении мануалов. Оказывается не просто сел и прочитал

на одно предложение, сразу десять вопросов. Недавно снизошла благодать в виде чтения библиотек и попыток чего-нибудь из них вкрячить в код

.
Вот, попытался добавить TIM_Channel = TIM_Channel_1, чтобы явно указать канал 1, но не получается чего-то... не выходит каменный цветок.
Заранее спасибо за любую помощь.