XLSW_3DP_US-IR/inc/ultrasonic_analog.h
2025-01-08 13:54:46 +08:00

44 lines
958 B
C

//
// 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 <stddef.h>
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
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