new project

This commit is contained in:
2025-08-19 23:24:29 +08:00
parent 1247429882
commit c5eb3ab534
9 changed files with 365 additions and 28 deletions

View File

@@ -17,6 +17,7 @@
#include <stdio.h>
#include "board_config.h"
#include "gd32e23x_usart.h"
#include "ultrasonic_analog.h"
/* ============================================================================
* 协议格式说明
@@ -52,7 +53,7 @@
/** @name 协议帧标识符
* @{ */
#define PROTOCOL_PACKAGE_HEADER 0xD5 /**< 命令帧包头标识 */
#define PROTOCOL_BOARD_TYPE 0x03 /**< 板卡类型标识 */
#define PROTOCOL_BOARD_TYPE 0x04 /**< 板卡类型标识 */
/** @} */
/** @name 命令长度限制
@@ -82,6 +83,8 @@ static const uint8_t s_report_status_ok[] = { 'o', 'k' }; /**< 成功响应
static const uint8_t s_report_status_err[] = { 'e','r','r' }; /**< 错误响应数据 */
/** @} */
extern volatile bool g_ultrasonic_measure_done;
/* ============================================================================
* 公共接口函数
* ============================================================================ */
@@ -251,20 +254,31 @@ void handle_command(const uint8_t *frame, uint8_t len) {
// 仅基础命令,如 M1, M2, M3
switch (base_cmd) {
case 1u: // M1: enable sensor report
send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok));
return;
// g_ultrasonic_measure_done = false;
ultrasonic_pwm_out_cycles();
gpio_bit_toggle(GPIOA, GPIO_PIN_0);
while (g_ultrasonic_measure_done)
{
g_ultrasonic_measure_done = false;
send_response(RESP_TYPE_OK, s_report_status_err, sizeof(s_report_status_err));
return;
}
case 2u: // M2: disable sensor report
send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok));
return;
case 3u:
send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok));
return;
// case 3u:
//
// return;
case 4u:
send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok));
return;
// case 4u:
//
// return;
// case 201u: // M201命令
// send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok));
@@ -404,4 +418,3 @@ void command_process(void) {
}
}
}