generated from hulk/gd32e23x_template
alpha version
This commit is contained in:
parent
c9c1e00d6a
commit
b4901f5f37
@ -94,12 +94,12 @@ set(TARGET_CFLAGS_HARDWARE "-mcpu=cortex-m23 -mfloat-abi=soft -mthumb -mthumb-in
|
|||||||
#set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 -O0 -g")
|
#set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 -O0 -g")
|
||||||
#set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG=0 -O0 -g")
|
#set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG=0 -O0 -g")
|
||||||
#set(CMAKE_ASM_FLAGS_DEBUG "-DDEBUG=0 -O0 -g")
|
#set(CMAKE_ASM_FLAGS_DEBUG "-DDEBUG=0 -O0 -g")
|
||||||
set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 -O2 -g")
|
#set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 -O2 -g")
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG=0 -O2 -g")
|
#set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG=0 -O2 -g")
|
||||||
set(CMAKE_ASM_FLAGS_DEBUG "-DDEBUG=0 -O2 -g")
|
#set(CMAKE_ASM_FLAGS_DEBUG "-DDEBUG=0 -O2 -g")
|
||||||
#set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
|
set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
|
||||||
#set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
|
set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
|
||||||
#set(CMAKE_ASM_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
|
set(CMAKE_ASM_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
|
||||||
|
|
||||||
# RELEASE
|
# RELEASE
|
||||||
set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG -O3") # -flto
|
set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG -O3") # -flto
|
||||||
|
@ -37,7 +37,7 @@ void ultrasonic_echo_timer_config(void);
|
|||||||
|
|
||||||
void ultrasonic_config(void);
|
void ultrasonic_config(void);
|
||||||
|
|
||||||
uint32_t ultrasonic_calc_distance(void);
|
uint16_t ultrasonic_calc_distance(void);
|
||||||
|
|
||||||
|
|
||||||
#endif //ULTRASONIC_ANALOG_H
|
#endif //ULTRASONIC_ANALOG_H
|
||||||
|
@ -34,7 +34,7 @@ OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#include "gd32e23x_it.h"
|
#include "gd32e23x_it.h"
|
||||||
|
|
||||||
__IO uint32_t g_capture_value;
|
__IO uint16_t g_capture_value;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief this function handles NMI exception
|
\brief this function handles NMI exception
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
volatile uint8_t g_temperature_uint8[2] = {0};
|
volatile uint8_t g_temperature_uint8[2] = {0};
|
||||||
|
|
||||||
extern uint32_t g_capture_value;
|
extern uint16_t g_capture_value;
|
||||||
uint16_t g_distance_uint16;
|
uint16_t g_distance_uint16;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -122,22 +122,20 @@ void gd60914_tempture_report(void) {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
void ultrasonic_distance_report(void) {
|
void ultrasonic_distance_report(void) {
|
||||||
static uint32_t distance_uint32 = 0;
|
static uint16_t distance_uint16 = 0;
|
||||||
static uint8_t package_header[3] = {0xB5, 0xF0, 0x04};
|
static uint8_t package_header[3] = {0xB5, 0xF0, 0x02};
|
||||||
static uint8_t package_data[4] = {0};
|
static uint8_t package_data[4] = {0};
|
||||||
|
|
||||||
distance_uint32 = ultrasonic_calc_distance();
|
distance_uint16 = ultrasonic_calc_distance();
|
||||||
|
|
||||||
package_data[0] = (distance_uint32 >> 24) & 0xFF;
|
package_data[0] = (distance_uint16 >> 8) & 0xFF;
|
||||||
package_data[1] = (distance_uint32 >> 16) & 0xFF;
|
package_data[1] = distance_uint16 & 0xFF;
|
||||||
package_data[2] = (distance_uint32 >> 8) & 0xFF;
|
|
||||||
package_data[3] = distance_uint32 & 0xFF;
|
|
||||||
|
|
||||||
uint8_t combined_data[7];
|
uint8_t combined_data[7];
|
||||||
memcpy(combined_data, package_header, 3);
|
memcpy(combined_data, package_header, 3);
|
||||||
memcpy(combined_data + 3, package_data, 4);
|
memcpy(combined_data + 3, package_data, 2);
|
||||||
|
|
||||||
printf("%c%c%c", package_header[0], package_header[1], package_header[2]);
|
printf("%c%c%c", package_header[0], package_header[1], package_header[2]);
|
||||||
printf("%c%c%c%c", package_data[0], package_data[1], package_data[2], package_data[3]);
|
printf("%c%c", package_data[0], package_data[1]);
|
||||||
printf("%c", calculate_crc(combined_data, 8));
|
printf("%c", calculate_crc(combined_data, 6));
|
||||||
}
|
}
|
||||||
|
@ -139,10 +139,10 @@ void ultrasonic_config(void) {
|
|||||||
ultrasonic_echo_timer_config();
|
ultrasonic_echo_timer_config();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t ultrasonic_calc_distance(void) {
|
uint16_t ultrasonic_calc_distance(void) {
|
||||||
while (!ultrasonicMeasurementDone);
|
while (!ultrasonicMeasurementDone);
|
||||||
// uint32_t us_value = timer_channel_capture_value_register_read(US_ECHO_TIMER, US_ECHO_CH);
|
// uint32_t us_value = timer_channel_capture_value_register_read(US_ECHO_TIMER, US_ECHO_CH);
|
||||||
uint32_t distance = (TIME_CORRECTION_US + g_capture_value) * 17;
|
uint16_t distance = (TIME_CORRECTION_US + g_capture_value) * 17;
|
||||||
/*
|
/*
|
||||||
* (TIME_CORRECTION_US + us_value) * 340 m/s
|
* (TIME_CORRECTION_US + us_value) * 340 m/s
|
||||||
* -----------------------------------------
|
* -----------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user