// // Created by yelv1 on 24-12-31. // #ifndef ULTRASONIC_ANALOG_H #define ULTRASONIC_ANALOG_H #include "gd32e23x.h" #include "systick.h" #include "gd32e23x_libopt.h" #include "board_config.h" #include "usart.h" #include "fwdgt.h" #include #include #include #include extern volatile bool ultrasonicMeasurementDone; /******************************************************************************/ #define ULTRASONIC_TX_CYCLES 0x05U #define ULTRASONIC_TX_TIME 498 // (ms) /******************************************************************************/ void ultrasonic_gpio_config(void); void ultrasonic_pwm_out_cycles(const uint8_t cycles); void ultrasonic_transmit_delay(const uint16_t micro_second); void ultrasonic_rece_exti_config(void); void ultrasonic_echo_timer_config(void); void ultrasonic_config(void); uint16_t ultrasonic_calc_distance(void); #endif //ULTRASONIC_ANALOG_H