初级会员 
  
	- 积分
 - 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) 
{ 
 
 
} 
 
 |   
 
 
 
 
 
 |