From 899773fe1ec26f7ff3381d70a3c90e60a85f2576 Mon Sep 17 00:00:00 2001 From: yelvlab Date: Mon, 23 Sep 2024 21:44:45 +0800 Subject: [PATCH] fix include file name err --- inc/ultrasonic_driver.h | 38 +++++++++++++++++ inc/usonic_driver.h | 18 -------- src/main.c | 2 +- src/ultrasonic_driver.c | 92 +++++++++++++++++++---------------------- 4 files changed, 81 insertions(+), 69 deletions(-) create mode 100644 inc/ultrasonic_driver.h delete mode 100644 inc/usonic_driver.h diff --git a/inc/ultrasonic_driver.h b/inc/ultrasonic_driver.h new file mode 100644 index 0000000..02d3f7e --- /dev/null +++ b/inc/ultrasonic_driver.h @@ -0,0 +1,38 @@ +// +// Created by dell on 24-9-23. +// + +#ifndef ULTRASONIC_DRIVER_H +#define ULTRASONIC_DRIVER_H + +#include "gd32e23x.h" + +#define LED_PORT GPIOA +#define LED_PIN GPIO_PIN_9 +#define LED_RCU RCU_GPIOA +#define LED_TIMER TIMER13 +#define LED_IRQ TIMER13_IRQn + +#define USART_RCU RCU_USART0 +#define USART_GPIO_RCU RCU_GPIOA +#define USARET_GPIO_PORT GPIOA +#define USART_TX_PIN GPIO_PIN_2 +#define USART_RX_PIN GPIO_PIN_3 +#define USART0_PHY USART0 +#define USART_BAUDRATE 115200U + +#define US_TRAN_GPIO_RCU RCU_GPIOB +#define US_TRAN_GPIO_PORT GPIOB +#define US_TRAN_PIN GPIO_PIN_1 + +#define US_TRAN_RCU RCU_TIMER2 +#define US_TRAN_TIMER TIMER2 +#define US_TRAN_CH TIMER_CH_3 + +void led_config(void); +void usart_config(void); +void ultrasonic_config(void); +void ultrasonic_peripheral_config(void); +void ultrasonic_pwm_out_cycles(uint8_t cycles); + +#endif //ULTRASONIC_DRIVER_H \ No newline at end of file diff --git a/inc/usonic_driver.h b/inc/usonic_driver.h deleted file mode 100644 index ad941ba..0000000 --- a/inc/usonic_driver.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// Created by dell on 24-9-23. -// - -#ifndef USONIC_DRIVER_H -#define USONIC_DRIVER_H - -#include "gd32e23x.h" - -void led_config(void); -void usart_config(void); -void ultrasonic_gpio_config(void); -void ultrasonic_timer_config(void); -void ultrasonic_config(void); -void ultrasonic_pwm_out_cycles(uint8_t cycles); - - -#endif //USONIC_DRIVER_H diff --git a/src/main.c b/src/main.c index 4c837d8..44ded2d 100644 --- a/src/main.c +++ b/src/main.c @@ -10,7 +10,7 @@ #include "systick.h" #include "gd32e23x_libopt.h" -#include "usonic_driver.h" +#include "ultrasonic_driver.h" #define ULTRASONIC_CYCLES 0x05U diff --git a/src/ultrasonic_driver.c b/src/ultrasonic_driver.c index 71569ab..6ffaa26 100644 --- a/src/ultrasonic_driver.c +++ b/src/ultrasonic_driver.c @@ -2,7 +2,7 @@ // Created by dell on 24-9-23. // -#include "usonic_driver.h" +#include "ultrasonic_driver.h" #include "gd32e23x.h" #include "systick.h" @@ -10,11 +10,11 @@ uint8_t speed_pwm = 30; //bldc default pwm is 30 void led_config(void) { - rcu_periph_clock_enable(RCU_GPIOA); + rcu_periph_clock_enable(LED_RCU); - gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_9); - gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9); - gpio_bit_write(GPIOA, GPIO_PIN_9, SET); + gpio_mode_set(LED_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, LED_PIN); + gpio_output_options_set(LED_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, LED_PIN); + gpio_bit_write(LED_PORT, LED_PIN, SET); rcu_periph_clock_enable(RCU_TIMER13); timer_deinit(RCU_TIMER13); @@ -26,53 +26,47 @@ void led_config(void) timer_initpara.counterdirection =TIMER_COUNTER_UP; timer_initpara.period =999; timer_initpara.clockdivision =TIMER_CKDIV_DIV1; - timer_init(TIMER13, &timer_initpara); + timer_init(LED_TIMER, &timer_initpara); - timer_auto_reload_shadow_enable(TIMER13); - timer_interrupt_enable(TIMER13, TIMER_INT_UP); - nvic_irq_enable(TIMER13_IRQn, 0); - timer_enable(TIMER13); + timer_auto_reload_shadow_enable(LED_TIMER); + timer_interrupt_enable(LED_TIMER, TIMER_INT_UP); + nvic_irq_enable(LED_IRQ, 0); + timer_enable(LED_TIMER); } void usart_config(void) { - rcu_periph_clock_enable(RCU_GPIOA); - rcu_periph_clock_enable(RCU_USART0); + rcu_periph_clock_enable(USART_GPIO_RCU); + rcu_periph_clock_enable(USART_RCU); - gpio_af_set(GPIOA, GPIO_AF_1, GPIO_PIN_2 | GPIO_PIN_3); + gpio_af_set(USARET_GPIO_PORT, GPIO_AF_1, GPIO_PIN_2 | GPIO_PIN_3); /* configure USART Tx as alternate function push-pull */ - gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_2); - gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_10MHZ, GPIO_PIN_2); - - gpio_mode_set(GPIOA, GPIO_MODE_AF, GPIO_PUPD_PULLUP, GPIO_PIN_3); - gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_10MHZ, GPIO_PIN_3); + gpio_mode_set(USARET_GPIO_PORT, GPIO_MODE_AF, GPIO_PUPD_PULLUP, USART_TX_PIN | USART_RX_PIN); + gpio_output_options_set(USARET_GPIO_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_10MHZ, USART_TX_PIN | USART_RX_PIN); /* USART configure */ - usart_deinit(USART0); - usart_baudrate_set(USART0, 115200U); - usart_receive_config(USART0, USART_RECEIVE_ENABLE); - usart_transmit_config(USART0, USART_TRANSMIT_ENABLE); + usart_deinit(USART0_PHY); + usart_baudrate_set(USART0_PHY, USART_BAUDRATE); + usart_receive_config(USART0_PHY, USART_RECEIVE_ENABLE); + usart_transmit_config(USART0_PHY, USART_TRANSMIT_ENABLE); - usart_enable(USART0); + usart_enable(USART0_PHY); } -void ultrasonic_gpio_config(void) +void ultrasonic_config(void) { - rcu_periph_clock_enable(RCU_GPIOB); + rcu_periph_clock_enable(US_TRAN_GPIO_RCU); - gpio_mode_set(GPIOB, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_1); - gpio_output_options_set(GPIOB, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_1); - gpio_af_set(GPIOB, GPIO_AF_1, GPIO_PIN_1); -} + gpio_mode_set(US_TRAN_GPIO_PORT, GPIO_MODE_AF, GPIO_PUPD_NONE, US_TRAN_PIN); + gpio_output_options_set(US_TRAN_GPIO_PORT, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, US_TRAN_PIN); + gpio_af_set(US_TRAN_GPIO_PORT, GPIO_AF_1, US_TRAN_PIN); -void ultrasonic_timer_config(void) -{ timer_oc_parameter_struct timer_ocinitpara; timer_parameter_struct timer_initpara; - rcu_periph_clock_enable(RCU_TIMER2); - timer_deinit(TIMER2); + rcu_periph_clock_enable(US_TRAN_RCU); + timer_deinit(US_TRAN_TIMER); timer_struct_para_init(&timer_initpara); timer_initpara.prescaler = 0; @@ -80,7 +74,7 @@ void ultrasonic_timer_config(void) timer_initpara.counterdirection = TIMER_COUNTER_UP; timer_initpara.period = 239; timer_initpara.clockdivision = TIMER_CKDIV_DIV1; - timer_init(TIMER2, &timer_initpara); + timer_init(US_TRAN_TIMER, &timer_initpara); timer_channel_output_struct_para_init(&timer_ocinitpara); timer_ocinitpara.outputstate =TIMER_CCX_ENABLE; @@ -89,42 +83,40 @@ void ultrasonic_timer_config(void) timer_ocinitpara.ocnpolarity =TIMER_OCN_POLARITY_HIGH; timer_ocinitpara.ocidlestate =TIMER_OC_IDLE_STATE_LOW; timer_ocinitpara.ocnidlestate =TIMER_OCN_IDLE_STATE_LOW; - timer_channel_output_config(TIMER2, TIMER_CH_3, &timer_ocinitpara); + timer_channel_output_config(US_TRAN_TIMER, US_TRAN_CH, &timer_ocinitpara); - timer_channel_output_pulse_value_config(TIMER2, TIMER_CH_3, 120); - timer_channel_output_mode_config(TIMER2, TIMER_CH_3, TIMER_OC_MODE_PWM0); - timer_auto_reload_shadow_enable(TIMER2); + timer_channel_output_pulse_value_config(US_TRAN_TIMER, US_TRAN_CH, 120); + timer_channel_output_mode_config(US_TRAN_TIMER, US_TRAN_CH, TIMER_OC_MODE_PWM0); + timer_auto_reload_shadow_enable(US_TRAN_TIMER); - timer_interrupt_enable(TIMER2, TIMER_INT_UP); + timer_interrupt_enable(US_TRAN_TIMER, TIMER_INT_UP); // nvic_irq_enable(TIMER2_IRQn, 1); // timer_enable(TIMER2); } -void ultrasonic_config(void) { +void ultrasonic_peripheral_config(void) { led_config(); usart_config(); - ultrasonic_gpio_config(); - ultrasonic_timer_config(); + ultrasonic_config(); } void ultrasonic_pwm_out_cycles(uint8_t cycles) { uint8_t current_cycle = 0; - timer_channel_output_pulse_value_config(TIMER2, TIMER_CH_3, 120); - timer_channel_output_mode_config(TIMER2, TIMER_CH_3, TIMER_OC_MODE_PWM1); - timer_enable(TIMER2); + timer_channel_output_pulse_value_config(US_TRAN_TIMER, US_TRAN_CH, 120); + timer_channel_output_mode_config(US_TRAN_TIMER, US_TRAN_CH, TIMER_OC_MODE_PWM1); + timer_enable(US_TRAN_TIMER); while (current_cycle < cycles) { - while (!timer_interrupt_flag_get(TIMER2, TIMER_INT_FLAG_UP)); - timer_interrupt_flag_clear(TIMER2, TIMER_INT_FLAG_UP); + while (!timer_interrupt_flag_get(US_TRAN_TIMER, TIMER_INT_FLAG_UP)); + timer_interrupt_flag_clear(US_TRAN_TIMER, TIMER_INT_FLAG_UP); current_cycle ++; } // delay_nop(); - timer_disable(TIMER2); + timer_disable(US_TRAN_TIMER); // if(gpio_output_bit_get(GPIOB, GPIO_PIN_1) == SET) // { // gpio_bit_reset(GPIOB, GPIO_PIN_1); // } -} - +} \ No newline at end of file