From fedc3042bed0993e2464d7f90dc43e936db3bc03 Mon Sep 17 00:00:00 2001 From: wanghao Date: Wed, 14 Aug 2024 17:02:31 +0800 Subject: [PATCH] change led to timer int --- CHIRP/board/timer.c | 2 +- XLSW_SONIC/gd32e23x_it.c | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHIRP/board/timer.c b/CHIRP/board/timer.c index 5c6fc27..563cc4f 100644 --- a/CHIRP/board/timer.c +++ b/CHIRP/board/timer.c @@ -14,7 +14,7 @@ void timer_config(void) rcu_periph_clock_enable(RCU_TIMER2); timer_deinit(TIMER2); timer_struct_para_init(&timer_initpara); - timer_initpara.prescaler = (80) - 1; + timer_initpara.prescaler = (8) - 1; timer_initpara.alignedmode = TIMER_COUNTER_EDGE; timer_initpara.counterdirection = TIMER_COUNTER_UP; timer_initpara.period = 19999; diff --git a/XLSW_SONIC/gd32e23x_it.c b/XLSW_SONIC/gd32e23x_it.c index 8dab929..3f64629 100644 --- a/XLSW_SONIC/gd32e23x_it.c +++ b/XLSW_SONIC/gd32e23x_it.c @@ -107,6 +107,8 @@ void EXTI4_15_IRQHandler(void){ } +int i = 0; + /** * @brief This function handles TIMER2 interrupt request. * @param None @@ -114,9 +116,15 @@ void EXTI4_15_IRQHandler(void){ */ void TIMER2_IRQHandler(void) { + if (SET == timer_interrupt_flag_get(TIMER2, TIMER_INT_FLAG_CH0)) { - chbsp_led_toggle(0); + i++; timer_interrupt_flag_clear(TIMER2, TIMER_INT_FLAG_CH0); + if (i == 10) + { + chbsp_led_toggle(0); + i = 0; + } } } \ No newline at end of file