timer int LED

This commit is contained in:
wanghao
2024-08-09 16:34:11 +08:00
parent 673db2d79f
commit 27a1f5624e
6 changed files with 90 additions and 9 deletions

38
CHIRP/board/timer.c Normal file
View File

@@ -0,0 +1,38 @@
#include <stdio.h>
#include <stdint.h>
#include "gd32e23x.h"
#include "timer.h"
#include "gd32e23x.h"
#include "chirp_board_config.h"
#include "board_init.h"
void timer_config(void)
{
timer_oc_parameter_struct timer_ocinitpara;
timer_parameter_struct timer_initpara;
rcu_periph_clock_enable(RCU_TIMER2);
timer_deinit(TIMER2);
timer_struct_para_init(&timer_initpara);
timer_initpara.prescaler = (80) - 1;
timer_initpara.alignedmode = TIMER_COUNTER_EDGE;
timer_initpara.counterdirection = TIMER_COUNTER_UP;
timer_initpara.period = 19999;
timer_initpara.clockdivision = TIMER_CKDIV_DIV1;
timer_initpara.repetitioncounter = 0;
timer_init(TIMER2, &timer_initpara);
timer_initpara.period = 9999;
timer_init(TIMER2, &timer_initpara);
timer_channel_output_struct_para_init(&timer_ocinitpara);
timer_ocinitpara.outputstate = TIMER_CCX_ENABLE;
timer_ocinitpara.ocpolarity = TIMER_OC_POLARITY_HIGH;
timer_ocinitpara.ocidlestate = TIMER_OC_IDLE_STATE_LOW;
timer_channel_output_config(TIMER2, TIMER_CH_0, &timer_ocinitpara);
timer_auto_reload_shadow_enable(TIMER2);
timer_interrupt_enable(TIMER2, TIMER_INT_CH0);
timer_enable(TIMER2);
nvic_irq_enable(TIMER2_IRQn, 2);
}

8
CHIRP/board/timer.h Normal file
View File

@@ -0,0 +1,8 @@
#ifndef TIMER_H
#define TIMER_H
void timer_config(void);
#endif /* TIMER_H */