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_CXX_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_CXX_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_CXX_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
|
||||
#set(CMAKE_ASM_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
|
||||
#set(CMAKE_C_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_C_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
|
||||
set(CMAKE_ASM_FLAGS_DEBUG "-DDEBUG=0 -Os -g")
|
||||
|
||||
# RELEASE
|
||||
set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG -O3") # -flto
|
||||
|
@ -37,7 +37,7 @@ void ultrasonic_echo_timer_config(void);
|
||||
|
||||
void ultrasonic_config(void);
|
||||
|
||||
uint32_t ultrasonic_calc_distance(void);
|
||||
uint16_t ultrasonic_calc_distance(void);
|
||||
|
||||
|
||||
#endif //ULTRASONIC_ANALOG_H
|
||||
|
@ -34,7 +34,7 @@ OF SUCH DAMAGE.
|
||||
|
||||
#include "gd32e23x_it.h"
|
||||
|
||||
__IO uint32_t g_capture_value;
|
||||
__IO uint16_t g_capture_value;
|
||||
|
||||
/*!
|
||||
\brief this function handles NMI exception
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
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;
|
||||
|
||||
/*!
|
||||
|
@ -122,22 +122,20 @@ void gd60914_tempture_report(void) {
|
||||
// }
|
||||
|
||||
void ultrasonic_distance_report(void) {
|
||||
static uint32_t distance_uint32 = 0;
|
||||
static uint8_t package_header[3] = {0xB5, 0xF0, 0x04};
|
||||
static uint16_t distance_uint16 = 0;
|
||||
static uint8_t package_header[3] = {0xB5, 0xF0, 0x02};
|
||||
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[1] = (distance_uint32 >> 16) & 0xFF;
|
||||
package_data[2] = (distance_uint32 >> 8) & 0xFF;
|
||||
package_data[3] = distance_uint32 & 0xFF;
|
||||
package_data[0] = (distance_uint16 >> 8) & 0xFF;
|
||||
package_data[1] = distance_uint16 & 0xFF;
|
||||
|
||||
uint8_t combined_data[7];
|
||||
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%c", package_data[0], package_data[1], package_data[2], package_data[3]);
|
||||
printf("%c", calculate_crc(combined_data, 8));
|
||||
printf("%c%c", package_data[0], package_data[1]);
|
||||
printf("%c", calculate_crc(combined_data, 6));
|
||||
}
|
||||
|
@ -139,10 +139,10 @@ void ultrasonic_config(void) {
|
||||
ultrasonic_echo_timer_config();
|
||||
}
|
||||
|
||||
uint32_t ultrasonic_calc_distance(void) {
|
||||
uint16_t ultrasonic_calc_distance(void) {
|
||||
while (!ultrasonicMeasurementDone);
|
||||
// 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
|
||||
* -----------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user