初级会员

- 积分
- 58
- 金钱
- 58
- 注册时间
- 2014-7-21
- 在线时间
- 10 小时
|
1金钱
TIM15初始化:
__HAL_RCC_TIM15_CLK_ENABLE(); //使能定时器 15
__HAL_RCC_GPIOE_CLK_ENABLE(); //开启 GPIOE 时钟
GPIO_Initure.Pin = GPIO_PIN_5; //PE5
GPIO_Initure.Mode = GPIO_MODE_AF_PP; //配置为输入
GPIO_Initure.Pull = GPIO_NOPULL; //下拉
GPIO_Initure.Speed = GPIO_SPEED_FREQ_VERY_HIGH; //高速
GPIO_Initure.Alternate = GPIO_AF2_TIM15; //PE5 复用为 TIM15_CH1
HAL_GPIO_Init(GPIOE, &GPIO_Initure);
/* Set TIM15 instance */
TIM15_Handler.Instance = TIM15;
TIM15_Handler.Init.Period = 0xffff;
TIM15_Handler.Init.Prescaler = 199;
TIM15_Handler.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
TIM15_Handler.Init.CounterMode = TIM_COUNTERMODE_UP;
TIM15_Handler.Init.RepetitionCounter = 0;
HAL_TIM_IC_Init(&TIM15_Handler);
/* Configure the Input Capture of channel 1 */
TIM15_CH1Config.ICPolarity = TIM_ICPOLARITY_RISING;
TIM15_CH1Config.ICSelection = TIM_ICSELECTION_DIRECTTI;
TIM15_CH1Config.ICPrescaler = TIM_ICPSC_DIV1;
TIM15_CH1Config.ICFilter = 0;
HAL_TIM_IC_ConfigChannel(&TIM15_Handler, &TIM15_CH1Config, TIM_CHANNEL_1);
/* 选择从模式: 复位模式 */
TIM_SlaveConfigStructure.SlaveMode = TIM_SLAVEMODE_RESET;
/* 选择定时器输入触发: TI1FP1 */
TIM_SlaveConfigStructure.InputTrigger = TIM_TS_TI1FP1;
HAL_TIM_SlaveConfigSynchronization(&TIM15_Handler, &TIM_SlaveConfigStructure);
/*Start the Input Capture in interrupt mode */
HAL_TIM_IC_Start_IT(&TIM15_Handler, TIM_CHANNEL_1);
HAL_NVIC_SetPriority(TIM15_IRQn, 0, 1);
HAL_NVIC_EnableIRQ(TIM15_IRQn);//TIM15_IRQHandler
输入频率用的是40KHz,但是一直没有进入到捕获中断,不知道问题在哪里,哪位大神帮忙看一下,谢谢
中断:
void TIM15_IRQHandler(void)
{
}
|
|