From ba3209550ed86c3d0224557920d004f32d077a20 Mon Sep 17 00:00:00 2001 From: yelvlab Date: Sat, 21 Sep 2024 01:05:29 +0800 Subject: [PATCH] wc bldc control board blink --- CMakeLists.txt | 1 + inc/main.h | 3 --- inc/wc_bldc_control.h | 10 ++++++++++ src/gd32e23x_it.c | 1 - src/main.c | 39 +++++---------------------------------- src/wc_bldc_control.c | 37 +++++++++++++++++++++++++++++++++++++ 6 files changed, 53 insertions(+), 38 deletions(-) create mode 100644 inc/wc_bldc_control.h create mode 100644 src/wc_bldc_control.c diff --git a/CMakeLists.txt b/CMakeLists.txt index feb285e..b96afc5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,7 @@ set(TARGET_C_SRC ${CMAKE_SOURCE_DIR}/src/main.c ${CMAKE_SOURCE_DIR}/src/gd32e23x_it.c ${CMAKE_SOURCE_DIR}/src/systick.c + ${CMAKE_SOURCE_DIR}/src/wc_bldc_control.c ) add_executable(gd32e23_template ${TARGET_C_SRC}) diff --git a/inc/main.h b/inc/main.h index 5c10d21..dd037de 100644 --- a/inc/main.h +++ b/inc/main.h @@ -35,7 +35,4 @@ OF SUCH DAMAGE. #ifndef MAIN_H #define MAIN_H -/* led spark function */ -void led_spark(void); - #endif /* MAIN_H */ diff --git a/inc/wc_bldc_control.h b/inc/wc_bldc_control.h new file mode 100644 index 0000000..3bfd23d --- /dev/null +++ b/inc/wc_bldc_control.h @@ -0,0 +1,10 @@ +// +// Created by dell on 24-9-20. +// + +#ifndef WC_BLDC_CONTROL_H +#define WC_BLDC_CONTROL_H + +void led_blink_config(void); + +#endif //WC_BLDC_CONTROL_H diff --git a/src/gd32e23x_it.c b/src/gd32e23x_it.c index 0f9c248..0c77955 100644 --- a/src/gd32e23x_it.c +++ b/src/gd32e23x_it.c @@ -96,7 +96,6 @@ void PendSV_Handler(void) */ void SysTick_Handler(void) { - delay_decrement(); } void TIMER13_IRQHandler(void) diff --git a/src/main.c b/src/main.c index 9c50f6b..ad654bb 100644 --- a/src/main.c +++ b/src/main.c @@ -5,44 +5,14 @@ \version 2024-02-22, V2.1.0, firmware for GD32E23x */ +#include "main.h" +#include #include "gd32e23x.h" #include "systick.h" -#include -#include "main.h" #include "gd32e23x_libopt.h" -/*! - \brief LED blink function with tmer13 - \param[in] none - \param[out] none - \retval none -*/ -void led_config(void) -{ - rcu_periph_clock_enable(RCU_GPIOB); - - gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_1); - gpio_output_options_set(GPIOB, GPIO_OTYPE_OD, GPIO_OSPEED_50MHZ, GPIO_PIN_1); - gpio_bit_write(GPIOB, GPIO_PIN_1, SET); - - rcu_periph_clock_enable(RCU_TIMER13); - timer_deinit(RCU_TIMER13); - - timer_parameter_struct timer_initpara; - timer_struct_para_init(&timer_initpara); - timer_initpara.prescaler =7199; - timer_initpara.alignedmode =TIMER_COUNTER_EDGE; - timer_initpara.counterdirection =TIMER_COUNTER_UP; - timer_initpara.period =999; - timer_initpara.clockdivision =TIMER_CKDIV_DIV1; - timer_init(TIMER13, &timer_initpara); - - timer_auto_reload_shadow_enable(TIMER13); - timer_interrupt_enable(TIMER13, TIMER_INT_UP); - nvic_irq_enable(TIMER13_IRQn, 0); - timer_enable(TIMER13); -} +#include "wc_bldc_control.h" /*! \brief main function @@ -56,7 +26,8 @@ int main(void) /* configure systick */ systick_config(); - led_config(); + // led_config(); + led_blink_config(); while(1){ diff --git a/src/wc_bldc_control.c b/src/wc_bldc_control.c new file mode 100644 index 0000000..b9615ea --- /dev/null +++ b/src/wc_bldc_control.c @@ -0,0 +1,37 @@ +// +// Created by dell on 24-9-20. +// + +#include "wc_bldc_control.h" +#include "gd32e23x.h" + +/*! + \brief led blink configuration + \param[in] none + \param[out] none + \retval none +*/ +void led_blink_config(void){ + rcu_periph_clock_enable(RCU_GPIOB); + + gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_1); + gpio_output_options_set(GPIOB, GPIO_OTYPE_OD, GPIO_OSPEED_50MHZ, GPIO_PIN_1); + gpio_bit_write(GPIOB, GPIO_PIN_1, SET); + + rcu_periph_clock_enable(RCU_TIMER13); + timer_deinit(RCU_TIMER13); + + timer_parameter_struct timer_initpara; + timer_struct_para_init(&timer_initpara); + timer_initpara.prescaler =7199; + timer_initpara.alignedmode =TIMER_COUNTER_EDGE; + timer_initpara.counterdirection =TIMER_COUNTER_UP; + timer_initpara.period =999; + timer_initpara.clockdivision =TIMER_CKDIV_DIV1; + timer_init(TIMER13, &timer_initpara); + + timer_auto_reload_shadow_enable(TIMER13); + timer_interrupt_enable(TIMER13, TIMER_INT_UP); + nvic_irq_enable(TIMER13_IRQn, 0); + timer_enable(TIMER13); +}