Question
STM32F769 Discovery board capturing input on timer 3
I am trying to capture input from an external source. Using CubeMX as a guide, I configured timer 3 like this:
/* TIM3 init function */
void MX_TIM3_Init(void)
{
// PC8 ------> TIM3_CH3
TIM_IC_InitTypeDef sConfigIC = {0};
GPIO_InitTypeDef GPIO_InitStruct = {0};
htim3.Instance = TIM3;
htim3.Init.Prescaler = 0;
htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
htim3.Init.Period = 0xFFFFFFFF;
htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
HAL_TIM_IC_Init(&htim3);
sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING;
sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;
sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;
sConfigIC.ICFilter = 0;
HAL_TIM_IC_ConfigChannel(&htim3, &sConfigIC, TIM_CHANNEL_3);
GPIO_InitStruct.Pin = GPIO_PIN_8;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Alternate = GPIO_AF2_TIM3;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
__HAL_RCC_TIM3_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
HAL_TIM_IC_Start(&htim3, TIM_CHANNEL_3);
}But when I connect a signal generator to PC8, all I get is ~43500 counts per second, even when the generator is off.
Can anyone suggest what I have configured incorrectly? Or, for that matter, if PC8 really is the correct pin for timer 3, channel 3.