
实习生

- 积分
- 15
- 在线时间
- 8 小时
- 精华
- 0
- 注册时间
- 2018-8-31
- 最后登录
- 2021-1-22
|
/* TIM3 clock enable */
rcu_periph_clock_enable(RCU_TIMER3);
/**TIM3 GPIO Configuration
PD12 ------> TIM3_CH1
PD13 ------> TIM3_CH2
*/
gpio_mode_set(GPIOD, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_12|GPIO_PIN_13);
gpio_output_options_set(GPIOD, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_12|GPIO_PIN_13);
gpio_af_set(GPIOD, GPIO_AF_2, GPIO_PIN_12|GPIO_PIN_13);
timer_deinit(TIMER3);
timer_initpara.period = 2000;
timer_initpara.prescaler = 0;
timer_initpara.alignedmode = TIMER_COUNTER_EDGE;
timer_initpara.counterdirection = TIMER_COUNTER_UP;
timer_initpara.clockdivision = TIMER_CKDIV_DIV1;
timer_initpara.repetitioncounter = 0;
GD_TIM_Encoder_MspInit(TIMER3);
timer_init(TIMER3, &timer_initpara);
/* TIMER3 CH0 input capture configuration */
timer_icinitpara.icpolarity = TIMER_IC_POLARITY_RISING;
timer_icinitpara.icselection = TIMER_IC_SELECTION_DIRECTTI;
timer_icinitpara.icprescaler = TIMER_IC_PSC_DIV1;
timer_icinitpara.icfilter = 0x05;
timer_input_capture_config(TIMER3,TIMER_CH_0,&timer_icinitpara);
timer_input_capture_config(TIMER3,TIMER_CH_1,&timer_icinitpara);
timer_quadrature_decoder_mode_config(TIMER3,TIMER_ENCODER_MODE1,TIMER_IC_POLARITY_RISING,TIMER_IC_POLARITY_RISING);
timer_interrupt_flag_clear(TIMER3, TIMER_INT_FLAG_CH0);
timer_interrupt_flag_clear(TIMER3, TIMER_INT_FLAG_CH1);
timer_interrupt_enable(TIMER3, TIMER_INT_UP);
timer_interrupt_enable(TIMER3, TIMER_INT_CH0 |TIMER_INT_CH1);
/* auto-reload preload enable */
// timer_auto_reload_shadow_enable(TIMER3);
timer_enable(TIMER3);
|
|