void timer2_init(void)
{
timer_parameter_struct timer_initpara;
timer_struct_para_init(&timer_initpara);
rcu_periph_clock_enable(RCU_TIMER2); /* ?????2?? */
timer_deinit(TIMER2); /* ???2?????? */
timer_initpara.prescaler = 9;
timer_initpara.alignedmode = TIMER_COUNTER_EDGE;
timer_initpara.counterdirection = TIMER_COUNTER_UP;
timer_initpara.period = 10800;
timer_initpara.clockdivision = TIMER_CKDIV_DIV1;
timer_initpara.repetitioncounter = 0;
timer_init(TIMER2,&timer_initpara);
timer_enable(TIMER2); /* ?????2 */
nvic_irq_enable(TIMER2_IRQn, 0, 0); /* TIMER????,?????0,????3 */
timer_interrupt_enable(TIMER2,TIMER_INT_UP); /* ?????? */
}
void TIMER2_IRQHandler(void)
{
if(timer_interrupt_flag_get(TIMER2, TIMER_INT_FLAG_UP)!=RESET)
{
// gpio_bit_set(GPIOA, GPIO_PIN_2);
// gpio_bit_reset(GPIOA, GPIO_PIN_2);
GPIO_BOP(GPIOA) = (uint32_t)GPIO_PIN_2; //?1
GPIO_BC(GPIOA) = (uint32_t)GPIO_PIN_2; //?0
//9.26ns
timer_interrupt_flag_clear(TIMER2, TIMER_INT_FLAG_UP);
}
}
GD32F350定时器2中断
最新推荐文章于 2024-07-29 16:42:48 发布