From 4ffcff9f1bba5f0bd4a5105718ddaf4f11cc6bf5 Mon Sep 17 00:00:00 2001 From: hehaoyang <1109196436@qq.com> Date: Fri, 29 Dec 2023 11:50:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E2=80=98=E6=8A=95=E5=BD=B1?= =?UTF-8?q?=E6=BF=80=E5=85=89=E8=AE=BE=E5=A4=87=E2=80=99=E7=9A=84=E6=8E=A7?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GD32F103C8T6/App/User/Peripheral/Api/api.h | 2 +- GD32F103C8T6/App/User/app.c | 18 ++++++++++++++++-- GD32F103C8T6/App/main.c | 8 +++++++- GD32F103C8T6/App/main.h | 12 ++++++++++++ 4 files changed, 36 insertions(+), 4 deletions(-) diff --git a/GD32F103C8T6/App/User/Peripheral/Api/api.h b/GD32F103C8T6/App/User/Peripheral/Api/api.h index b3186d5..81e08d6 100644 --- a/GD32F103C8T6/App/User/Peripheral/Api/api.h +++ b/GD32F103C8T6/App/User/Peripheral/Api/api.h @@ -22,7 +22,7 @@ #define API_FRAME_RESPONSE (0x01) /* 响应帧 */ #define API_FRAME_NOTIFICATION (0x02) /* 通知帧 */ -#define SOFTWARE_VERSION ("V1.26") +#define SOFTWARE_VERSION ("V1.27") #define HARDWARE_VERSION ("V1.01") extern uint8_t api_upgrade_mode; diff --git a/GD32F103C8T6/App/User/app.c b/GD32F103C8T6/App/User/app.c index 61e6d62..21d3ed6 100644 --- a/GD32F103C8T6/App/User/app.c +++ b/GD32F103C8T6/App/User/app.c @@ -52,6 +52,8 @@ static uint8_t diaodu_upload_status = 0; static void strobe_light_reset(void); /* 频闪灯闪烁*/ static void strobe_light_toggle(uint8_t count); +/* 投影灯控制 */ +static void lp_light_write(uint8_t status); /* 设置音量级别 */ static void set_volume_level(uint8_t level); @@ -200,6 +202,9 @@ void app_init(void) static void strobe_light_reset(void) { gpio_bit_write(LED_STROBE_PERIPH, LED_STROBE_PIN, RESET); + + /* 恢复投影灯状态 */ + lp_light_write(0); } static void strobe_light_toggle(uint8_t count) @@ -213,6 +218,14 @@ static void strobe_light_toggle(uint8_t count) } } +static void lp_light_write(uint8_t status) +{ + /* 激光投影设备 */ + gpio_bit_write(LP_FRONT_DOOR_PERIPH, LP_FRONT_DOOR_PIN, (bit_status)status); + gpio_bit_write(LP_BACK_DOOR_PERIPH, LP_BACK_DOOR_PIN, (bit_status)status); + gpio_bit_write(LP_CAR_REAR_PERIPH, LP_CAR_REAR_PIN, (bit_status)status); +} + static void led_parsing_task(uint8_t uuid) { /* 超过 2s 未检测到CAN数据变化,熄灭发送指示灯 */ @@ -407,6 +420,9 @@ static void strobe_light_operate_task(uint8_t uuid) return; } + + lp_light_write(1); + strobe_light_flashing_count += 1; if (strobe_light_flashing_mode == 0) @@ -425,8 +441,6 @@ static void strobe_light_operate_task(uint8_t uuid) /* 频闪 */ gpio_bit_write(LED_STROBE_PERIPH, LED_STROBE_PIN, !(strobe_light_flashing_count % 2)); - // gpio_bit_toggle(LED_STROBE_PERIPH, LED_STROBE_PIN); - if (strobe_light_flashing_count >= 4) { strobe_light_flashing_count = 0; diff --git a/GD32F103C8T6/App/main.c b/GD32F103C8T6/App/main.c index 734c848..b4898b6 100644 --- a/GD32F103C8T6/App/main.c +++ b/GD32F103C8T6/App/main.c @@ -66,7 +66,13 @@ static void bsp_initialization(void) gpio_config(V58_STATUS_PERIPH, V58_STATUS_PIN, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, nullptr); iic_config(M62429_SDA_PERIPH, M62429_SDA_PIN, M62429_SCL_PERIPH, M62429_SCL_PIN); - + + /* 激光投影设备 控制引脚 初始化 */ + gpio_config(LP_FRONT_DOOR_PERIPH, LP_FRONT_DOOR_PIN, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, RESET); + gpio_config(LP_BACK_DOOR_PERIPH, LP_BACK_DOOR_PIN, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, RESET); + gpio_config(LP_CAR_REAR_PERIPH, LP_CAR_REAR_PIN, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, RESET); + + /* CAN指示灯 控制引脚 初始化 */ gpio_config(LED_CAN_PERIPH, LED_CAN_PIN, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, RESET); diff --git a/GD32F103C8T6/App/main.h b/GD32F103C8T6/App/main.h index 605b50b..067b29e 100644 --- a/GD32F103C8T6/App/main.h +++ b/GD32F103C8T6/App/main.h @@ -104,6 +104,18 @@ #define M62429_SDA_PERIPH GPIOB #define M62429_SDA_PIN GPIO_PIN_11 +/* 激光投影设备(前门) */ +#define LP_FRONT_DOOR_PERIPH GPIOC +#define LP_FRONT_DOOR_PIN GPIO_PIN_13 + +/* 激光投影设备(后门) */ +#define LP_BACK_DOOR_PERIPH GPIOC +#define LP_BACK_DOOR_PIN GPIO_PIN_14 + +/* 激光投影设备(车尾) */ +#define LP_CAR_REAR_PERIPH GPIOC +#define LP_CAR_REAR_PIN GPIO_PIN_15 + #define LED_CAN_PERIPH GPIOA #define LED_CAN_PIN GPIO_PIN_5