From e9421877a41150ded4d1f43a56876c50521765bf Mon Sep 17 00:00:00 2001 From: hehaoyang <1109196436@qq.com> Date: Fri, 17 Nov 2023 11:07:26 +0800 Subject: [PATCH] V1.21 --- .gitignore | 5 + GD32F103C8T6/App/User/Api/api.h | 2 +- .../App/User/Peripheral/CAN/can_parsing.c | 24 -- .../App/User/Peripheral/CAN/can_parsing.h | 2 - GD32F103C8T6/App/User/app.c | 244 +++++++++++------- GD32F103C8T6/App/main.c | 17 +- GD32F103C8T6/App/main.h | 31 +-- GD32F103C8T6/Bootloader/main.h | 4 +- GD32F103C8T6/GD32F10x.emProject | 20 +- GD32F103C8T6/GD32F10x.emSession | 27 +- WpfApp1/WpfApp1/MainWindow.xaml | 1 - 协议文档/通信协议说明.docx | Bin 47526 -> 51746 bytes 12 files changed, 198 insertions(+), 179 deletions(-) diff --git a/.gitignore b/.gitignore index 99ef46b..4084d4f 100644 --- a/.gitignore +++ b/.gitignore @@ -216,3 +216,8 @@ GD32F103C8T6/Bootloader/Output/Debug/Obj/Bootloader/spi.o GD32F103C8T6/Bootloader/Output/Debug/Obj/Bootloader/system.d GD32F103C8T6/Bootloader/Output/Debug/Obj/Bootloader/system.o GD32F103C8T6/GD32F10x.emSession +GD32F103C8T6/._GD32F10x.emProject +GD32F103C8T6/App/Output/Debug/Obj/App/v58-e8e109c7.o.tmp +WpfApp1/.vs/WpfApp1/FileContentIndex/294201ea-13b4-4ce6-87c7-fe11eac372a1.vsidx +GD32F103C8T6/GD32F10x.emSession +协议文档/~$通信协议说明.docx diff --git a/GD32F103C8T6/App/User/Api/api.h b/GD32F103C8T6/App/User/Api/api.h index 1ec3f3c..37d893a 100644 --- a/GD32F103C8T6/App/User/Api/api.h +++ b/GD32F103C8T6/App/User/Api/api.h @@ -22,7 +22,7 @@ #define API_FRAME_RESPONSE (0x01) /* 响应帧 */ #define API_FRAME_NOTIFICATION (0x02) /* 通知帧 */ -#define SOFTWARE_VERSION ("V1.20") +#define SOFTWARE_VERSION ("V1.21") #define HARDWARE_VERSION ("V1.01") extern uint8_t api_upgrade_mode; diff --git a/GD32F103C8T6/App/User/Peripheral/CAN/can_parsing.c b/GD32F103C8T6/App/User/Peripheral/CAN/can_parsing.c index 1d1d617..cc32072 100644 --- a/GD32F103C8T6/App/User/Peripheral/CAN/can_parsing.c +++ b/GD32F103C8T6/App/User/Peripheral/CAN/can_parsing.c @@ -49,30 +49,6 @@ void can_byd_02_parsing(uint32_t id, uint8_t *data, uint8_t *door_front, uint8_t } } -void can_byd_03_parsing(uint32_t id, uint8_t *data, uint8_t *door_front, uint8_t *door_back, uint8_t *turn_left, uint8_t *turn_right, uint8_t *reversing) -{ - switch (id) - { - case 0x18FDA589: - /* 前门 */ - *door_front = (data[0] >> 4 & 0x03) == 0x01 ? 0 : 1; - /* 中门 */ - *door_back = (data[0] >> 6 & 0x03) == 0x01 ? 0 : 1; - break; - - case 0x0CFE4199: - /* 左转向 */ - *turn_left = (data[0] >> 6 & 0x03) == 0x01 ? 0 : 1; - /* 右转向 */ - *turn_right = (data[1] & 0x03) == 0x01 ? 0 : 1; - break; - - case 0x18F00503: - /* 当前档位 */ - *reversing = data[3] == 0x7C ? 0 : 1; - break; - } -} void can_yutong_parsing(uint32_t id, uint8_t *data, uint8_t *door_front, uint8_t *door_back, uint8_t *turn_left, uint8_t *turn_right, uint8_t *reversing) { diff --git a/GD32F103C8T6/App/User/Peripheral/CAN/can_parsing.h b/GD32F103C8T6/App/User/Peripheral/CAN/can_parsing.h index 2489401..cd2ace6 100644 --- a/GD32F103C8T6/App/User/Peripheral/CAN/can_parsing.h +++ b/GD32F103C8T6/App/User/Peripheral/CAN/can_parsing.h @@ -7,8 +7,6 @@ void can_byd_01_parsing(uint32_t id, uint8_t *data, uint8_t *door_front, uint8_t void can_byd_02_parsing(uint32_t id, uint8_t *data, uint8_t *door_front, uint8_t *door_back, uint8_t *turn_left, uint8_t *turn_right, uint8_t *reversing); -void can_byd_03_parsing(uint32_t id, uint8_t *data, uint8_t *door_front, uint8_t *door_back, uint8_t *turn_left, uint8_t *turn_right, uint8_t *reversing); - void can_yutong_parsing(uint32_t id, uint8_t *data, uint8_t *door_front, uint8_t *door_back, uint8_t *turn_left, uint8_t *turn_right, uint8_t *reversing); void can_jinlong_parsing(uint32_t id, uint8_t *data, uint8_t *door_front, uint8_t *door_back, uint8_t *turn_left, uint8_t *turn_right, uint8_t *reversing); diff --git a/GD32F103C8T6/App/User/app.c b/GD32F103C8T6/App/User/app.c index d6e8990..142cf66 100644 --- a/GD32F103C8T6/App/User/app.c +++ b/GD32F103C8T6/App/User/app.c @@ -7,11 +7,14 @@ #define STROBE_LIGHT_ENABLE_SETTING_INDEX (0x02) #define VOLUME_LEVEL_SETTING_INDEX (0x03) -static uint64_t led_rx_timestamp = 0, led_tx_timestamp = 0; +static uint64_t can_rx_led_timestamp = 0; +static uint64_t diaodu_rx_led_timestamp = 0; +static uint64_t run_led_timestamp = 0; +static uint64_t diaodu_status_rx_timestamp = 0; static uint8_t door_front_status = 1, door_front_status_temporary = 1; static uint8_t door_back_status = 1, door_back_status_temporary = 1; -static uint8_t door_status = 1, door_status_temporary = 1; +static uint8_t door_status = 1, door_status_temporary = 2; static uint8_t turn_left_status = 1, turn_left_status_temporary = 1; static uint8_t turn_left_parsing_count = 0; /* 转向接收次数 */ static uint8_t turn_right_status = 1, turn_right_status_temporary = 1; @@ -49,13 +52,10 @@ static void strobe_light_reset(void); /* 频闪灯闪烁*/ static void strobe_light_toggle(uint8_t count); -#ifdef USE_LED -/* LED 指示灯分析任务 */ -static void led_parsing_task(uint8_t uuid); -#endif - /* 设置音量级别 */ static void set_volume_level(uint8_t level); +/* LED 指示灯分析任务 */ +static void led_parsing_task(uint8_t uuid); /* 音量级别控制按钮 分析任务 */ static void volume_io_control_parsing_task(uint8_t uuid); /* can 数据分析任务 */ @@ -144,8 +144,6 @@ void app_init(void) m62429_init(); - ir_init(); - /* 主动获取一次IO状态 */ door_front_status = door_front_status_temporary = gpio_input_bit_get(DOOR_FRONT_PERIPH, DOOR_FRONT_PIN); door_back_status = door_back_status_temporary = gpio_input_bit_get(DOOR_BACK_PERIPH, DOOR_BACK_PIN); @@ -163,19 +161,14 @@ void app_init(void) /* 创建 上位机数据检测任务 */ task_create((task_func)api_process, 0); - /* 创建 红外遥控器数据检测任务 */ - task_create((task_func)ir_process, 0); - /* 创建 调度数据检测任务 */ task_create((task_func)diaodu_process, 0); /* 创建 心跳发送任务 */ task_create((task_func)api_upload_heart_beat, 3000); -#ifdef USE_LED /* 创建 LED 指示灯分析任务 */ - task_create(led_parsing_task, 30); -#endif + task_create(led_parsing_task, 500); /* 创建 CAN数据分析任务 */ task_create(can_parsing_task, 0); @@ -214,51 +207,56 @@ static void strobe_light_toggle(uint8_t count) } } -#ifdef USE_LED static void led_parsing_task(uint8_t uuid) { - /* 超过500ms钟未发送数据,熄灭发送指示灯 */ - if (timestamp - led_rx_timestamp > 500) + /* 超过 2s 未检测到CAN数据变化,熄灭发送指示灯 */ + if (timestamp - can_rx_led_timestamp > 2000) { - gpio_bit_write(LED_RX_PERIPH, LED_RX_PIN, RESET); - led_rx_timestamp = timestamp; + gpio_bit_write(LED_CAN_PERIPH, LED_CAN_PIN, RESET); + can_rx_led_timestamp = timestamp; } - /* 超过500ms钟未接收到数据,熄灭接收指示灯 */ - if (timestamp - led_tx_timestamp > 500) + /* 超过 2s 未检测到CAN数据变化,熄灭发送指示灯 */ + if (timestamp - diaodu_rx_led_timestamp > 2000) { - gpio_bit_write(LED_TX_PERIPH, LED_TX_PIN, RESET); - led_tx_timestamp = timestamp; + gpio_bit_write(LED_DIAODU_PERIPH, LED_DIAODU_PIN, RESET); + diaodu_rx_led_timestamp = timestamp; + } + + /* 1.5s 闪烁一次 */ + if (timestamp - run_led_timestamp > 1000) + { + gpio_bit_toggle(LED_RUN_PERIPH, LED_RUN_PIN); + run_led_timestamp = timestamp; } } -#endif static void set_volume_level(uint8_t level) { switch (level) { case 0x00: - m62429_set_vol(0); - strobe_light_flashing_enable = 0x01; + m62429_set_vol(11); + strobe_light_flashing_enable = 0x00; break; case 0x01: - m62429_set_vol(8); - strobe_light_flashing_enable = 0x01; - break; - case 0x02: m62429_set_vol(9); strobe_light_flashing_enable = 0x01; break; + case 0x02: + m62429_set_vol(8); + strobe_light_flashing_enable = 0x01; + break; case 0x03: - m62429_set_vol(11); - strobe_light_flashing_enable = 0x00; + m62429_set_vol(0); + strobe_light_flashing_enable = 0x01; break; default: return; } - if (level == 3) + if (level == 0) gpio_bit_write(AMP_CTRL_PERIPH, AMP_CTRL_PIN, RESET); /* 停止功放 */ else gpio_bit_write(AMP_CTRL_PERIPH, AMP_CTRL_PIN, SET); /* 开启功放 */ @@ -325,6 +323,8 @@ static void can_parsing_task(uint8_t uuid) /* CAN 解析 */ if (receive_message.rx_ff == CAN_FF_EXTENDED) { + uint8_t can_channge_status = 0; + switch (can_type) { case 0x00: @@ -334,33 +334,51 @@ static void can_parsing_task(uint8_t uuid) can_byd_02_parsing(receive_message.rx_efid, receive_message.rx_data, &door_front_status_temporary, &door_back_status_temporary, &turn_left_status_temporary, &turn_right_status_temporary, &reversing_status_temporary); break; case 0x02: - can_byd_03_parsing(receive_message.rx_efid, receive_message.rx_data, &door_front_status_temporary, &door_back_status_temporary, &turn_left_status_temporary, &turn_right_status_temporary, &reversing_status_temporary); - break; - case 0x03: can_yutong_parsing(receive_message.rx_efid, receive_message.rx_data, &door_front_status_temporary, &door_back_status_temporary, &turn_left_status_temporary, &turn_right_status_temporary, &reversing_status_temporary); break; - case 0x04: + case 0x03: can_jinlong_parsing(receive_message.rx_efid, receive_message.rx_data, &door_front_status_temporary, &door_back_status_temporary, &turn_left_status_temporary, &turn_right_status_temporary, &reversing_status_temporary); break; - case 0x05: + case 0x04: can_ankai_parsing(receive_message.rx_efid, receive_message.rx_data, &door_front_status_temporary, &door_back_status_temporary, &turn_left_status_temporary, &turn_right_status_temporary, &reversing_status_temporary); break; } if (door_front_status_temporary != door_front_status) + { + can_channge_status = 1; door_front_upload_status = 0x01; + } if (door_back_status_temporary != door_back_status) + { + can_channge_status = 1; door_back_upload_status = 0x01; + } if (turn_left_status_temporary != turn_left_status) + { + can_channge_status = 1; turn_left_upload_status = 0x01; + } if (turn_right_status_temporary != turn_right_status) + { + can_channge_status = 1; turn_right_upload_status = 0x01; + } if (reversing_status_temporary != reversing_status) + { + can_channge_status = 1; reversing_upload_status = 0x01; + } + + if(can_channge_status == 1) + { + gpio_bit_write(LED_CAN_PERIPH, LED_CAN_PIN, SET); + can_rx_led_timestamp = timestamp; + } } } } @@ -450,9 +468,9 @@ static void vehicle_status_parsing_task(uint8_t uuid) { reversing_status = reversing_status_temporary; - status_type = 3; + status = reversing_status == 0 ? 1 : 0; - status = reversing_status; + status_type = 3; /* 优先级最高, 如果状态为触发, 关闭语音 */ if (reversing_status == 0) @@ -468,62 +486,77 @@ static void vehicle_status_parsing_task(uint8_t uuid) /* 进出站状态判断 */ if (diaodu_status_temporry != 0 && diaodu_status != diaodu_status_temporry) { - diaodu_status = diaodu_status_temporry; - - /* 到站 */ - if (diaodu_status == 1) + /* 当前为出站状态, 如果之前是进站状态,则停止播报, 否则不处理 */ + if(diaodu_status_temporry == 2) { + if(diaodu_status == 1) + { + status = 0x00; + status_type = 5; + } + } + /* 到站 */ + else if (diaodu_status_temporry == 1) + { + status = 0x01; status_type = 4; - status = 0x00; - /* 优先级最高,关闭语音 */ v58_stop(); } - ///* 出站 */ - // else if(diaodu_status == 2) - // status_type = 5; - + + diaodu_status = diaodu_status_temporry; + goto EXECUTE; } + /* 如果一直处于进站状态, 超过 2 分钟, 则取消该状态, 并停止语音 */ + if (diaodu_status == 1) + { + if(diaodu_status_rx_timestamp != 0 && + timestamp - diaodu_status_rx_timestamp >= 120000) + { + /* 修改为出站状态 */ + diaodu_arrival_or_departure_parsing(0x02); + + goto EXECUTE; + } + } + if (door_front_status_temporary != door_front_status) door_front_status = door_front_status_temporary; if (door_back_status_temporary != door_back_status) door_back_status = door_back_status_temporary; + //door_status_temporary = door_front_status_temporary + door_back_status_temporary; door_status_temporary = door_front_status_temporary | door_back_status_temporary; if (door_status != door_status_temporary) { door_status = door_status_temporary; - status_type = 0; + status = door_status == 0 ? 1 : 0; - status = door_status; + status_type = 0; } - /* 进站状态, 不继续执行 */ - if (diaodu_status == 1) + /* 当前后门开启后 */ + if(door_status == 0) { - /* 当前后门开启后 */ - if (door_status == 0) + /* 进站状态, 不继续执行 */ + if (diaodu_status == 1) { - /* 重置进站状态 */ - diaodu_status = diaodu_status_temporry = 0; /* 关闭语音 */ v58_stop(); - goto EXECUTE; + /* 重置进站状态 */ + diaodu_status_temporry = diaodu_status = 0; } - return; - } - - /* 当前后门开启后, 不处理其他数据 */ - if (door_status == 0) + /* 不处理其他数据 */ goto EXECUTE; + } /* 左转弯状态判断 */ if (turn_left_status != turn_left_status_temporary) @@ -539,15 +572,21 @@ static void vehicle_status_parsing_task(uint8_t uuid) turn_left_parsing_count = 0; - turn_left_status = turn_left_status_temporary; - - status_type = 1; - - status = turn_left_status; - /* 屏蔽此时左转弯数据 */ - if (turn_left_status == 1 && turn_right_status == 0) + if (turn_left_status_temporary == 0 && turn_right_status == 0) status_type = 0xFF; + else + { + turn_left_status = turn_left_status_temporary; + + status = turn_left_status == 0 ? 1 : 0; + + status_type = 1; + + //printf("left status = %d \r\n", status); + + goto EXECUTE; + } } TURN_RIGHT_STATUS_TAG2: @@ -565,15 +604,21 @@ TURN_RIGHT_STATUS_TAG2: turn_right_parsing_count = 0; - turn_right_status = turn_right_status_temporary; - - status_type = 2; - - status = turn_right_status; - /* 屏蔽此时右转弯数据 */ - if (turn_right_status == 1 && turn_left_status == 0) + if (turn_right_status_temporary == 0 && turn_left_status == 0) status_type = 0xFF; + else + { + turn_right_status = turn_right_status_temporary; + + status = turn_right_status == 0 ? 1 : 0; + + status_type = 2; + + //printf("right status = %d \r\n", status); + + goto EXECUTE; + } } #if 0 @@ -623,7 +668,7 @@ EXECUTE: if (status_type == 0xFF || emergency_flashers_status_temporary == 0) return; - if (status == 0x01) + if (status == 0x00) { /* 挂起 频闪灯控制任务 */ task_suspend(strobe_light_task_uuid); @@ -739,27 +784,30 @@ void diaodu_arrival_or_departure_parsing(uint8_t status) { diaodu_status_temporry = status; diaodu_upload_status = 0x01; + + diaodu_status_rx_timestamp = diaodu_rx_led_timestamp = timestamp; + gpio_bit_write(LED_DIAODU_PERIPH, LED_DIAODU_PIN, SET); } -void ir_key_triggered(uint8_t key) -{ - uint8_t level = 0x00; +//void ir_key_triggered(uint8_t key) +//{ +// uint8_t level = 0x00; - if (key == 0x98) /* + */ - level = volume_level - 1; - else if (key == 0x68) /* - */ - level = volume_level + 1; - else if(key == 0xA2) - level = 3; - else - return; +// if (key == 0x98) /* + */ +// level = volume_level - 1; +// else if (key == 0x68) /* - */ +// level = volume_level + 1; +// else if(key == 0xA2) +// level = 3; +// else +// return; - strobe_light_toggle(2); +// strobe_light_toggle(2); - set_volume_level(level); +// set_volume_level(level); - api_upload_data_forwarding(0x06, level); -} +// api_upload_data_forwarding(0x06, level); +//} void api_notify_data_upload(uint8_t *buffer, uint16_t length) { @@ -836,26 +884,32 @@ void api_notify_data_forwarding(uint8_t type, uint8_t value) switch (type) { case 0x00: + door_front_upload_status = 0x01; door_front_status_temporary = value; break; case 0x01: + door_back_upload_status = 0x01; door_back_status_temporary = value; break; case 0x02: + turn_left_upload_status = 0x01; turn_left_status_temporary = value; break; case 0x03: + turn_right_upload_status = 0x01; turn_right_status_temporary = value; break; case 0x04: + reversing_upload_status = 0x01; reversing_status_temporary = value; break; case 0x05: + diaodu_upload_status = 0x01; diaodu_status_temporry = value; break; diff --git a/GD32F103C8T6/App/main.c b/GD32F103C8T6/App/main.c index ea9c4c1..566c77c 100644 --- a/GD32F103C8T6/App/main.c +++ b/GD32F103C8T6/App/main.c @@ -35,14 +35,6 @@ static void bsp_initialization(void) /* RS485使能控制脚 初始化, 默认接收 */ gpio_config(RS485_CL_PERIPH, RS485_CL_PIN, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, RESET); -#ifdef USE_LED - /* 接收指示灯 控制引脚初始化 */ - gpio_config(LED_RX_PERIPH, LED_RX_PIN, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, RESET); - - /* 发送指示灯 控制引脚 初始化 */ - gpio_config(LED_TX_PERIPH, LED_TX_PIN, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, RESET); -#endif - /* 频闪灯 控制引脚 初始化 */ gpio_config(LED_STROBE_PERIPH, LED_STROBE_PIN, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, RESET); @@ -77,4 +69,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); + + /* CAN指示灯 控制引脚 初始化 */ + gpio_config(LED_CAN_PERIPH, LED_CAN_PIN, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, RESET); + + /* 485指示灯 控制引脚 初始化 */ + gpio_config(LED_DIAODU_PERIPH, LED_DIAODU_PIN, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, RESET); + + /* 运行指示灯 控制引脚 初始化 */ + gpio_config(LED_RUN_PERIPH, LED_RUN_PIN, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, RESET); } \ No newline at end of file diff --git a/GD32F103C8T6/App/main.h b/GD32F103C8T6/App/main.h index 3faeb25..605b50b 100644 --- a/GD32F103C8T6/App/main.h +++ b/GD32F103C8T6/App/main.h @@ -5,13 +5,10 @@ #define __weak __WEAK /* Flash容量 (单位KB) */ -//#define FMC_CAPACITY_SIZE_64K -#define FMC_CAPACITY_SIZE_128K +#define FMC_CAPACITY_SIZE_64K +//#define FMC_CAPACITY_SIZE_128K //#define FMC_CAPACITY_SIZE_512K -/* 是否适用LED状态灯 */ -//#define USE_LED - #include "gd32f10x_libopt.h" #include @@ -34,7 +31,6 @@ #include "api.h" #include "app.h" -#include "ir.h" #include "diaodu.h" #include "setting.h" #include "m62429.h" @@ -50,16 +46,6 @@ #define RS485_CL_PERIPH GPIOB #define RS485_CL_PIN GPIO_PIN_1 -#ifdef USE_LED -/* 接收指示灯 控制引脚 */ -#define LED_RX_PERIPH GPIOB -#define LED_RX_PIN GPIO_PIN_10 - -/* 发送指示灯 控制引脚 */ -#define LED_TX_PERIPH GPIOB -#define LED_TX_PIN GPIO_PIN_11 -#endif - /* 音量 Level 4 控制引脚 */ #define VOLUME_4_PERIPH GPIOB #define VOLUME_4_PIN GPIO_PIN_12 @@ -100,10 +86,6 @@ #define REVERSING_PERIPH GPIOB #define REVERSING_PIN GPIO_PIN_6 -/* IR 检测引脚 */ -#define IR_IN_PERIPH GPIOA -#define IR_IN_PIN GPIO_PIN_6 - /* 功放控制脚,默认为低,高电平打开 */ #define AMP_CTRL_PERIPH GPIOB #define AMP_CTRL_PIN GPIO_PIN_5 @@ -122,4 +104,13 @@ #define M62429_SDA_PERIPH GPIOB #define M62429_SDA_PIN GPIO_PIN_11 +#define LED_CAN_PERIPH GPIOA +#define LED_CAN_PIN GPIO_PIN_5 + +#define LED_DIAODU_PERIPH GPIOB +#define LED_DIAODU_PIN GPIO_PIN_0 + +#define LED_RUN_PERIPH GPIOB +#define LED_RUN_PIN GPIO_PIN_7 + #endif \ No newline at end of file diff --git a/GD32F103C8T6/Bootloader/main.h b/GD32F103C8T6/Bootloader/main.h index f59ed53..e43df96 100644 --- a/GD32F103C8T6/Bootloader/main.h +++ b/GD32F103C8T6/Bootloader/main.h @@ -5,8 +5,8 @@ #define __weak __WEAK /* Flash容量 (单位KB) */ -//#define FMC_CAPACITY_SIZE_64K -#define FMC_CAPACITY_SIZE_128K +#define FMC_CAPACITY_SIZE_64K +//#define FMC_CAPACITY_SIZE_128K #include "gd32f10x_libopt.h" diff --git a/GD32F103C8T6/GD32F10x.emProject b/GD32F103C8T6/GD32F10x.emProject index f825f7b..7045a47 100644 --- a/GD32F103C8T6/GD32F10x.emProject +++ b/GD32F103C8T6/GD32F10x.emProject @@ -30,21 +30,21 @@ arm_rtl_variant="SEGGER" arm_simulator_memory_simulation_parameter="ROM;0x08000000;0x00020000;RAM;0x20000000;0x00005000" arm_target_debug_interface_type="ADIv5" - arm_target_device_name="GD32F103CB" + arm_target_device_name="CS32F103C8" arm_target_interface_type="SWD" c_preprocessor_definitions="ARM_MATH_CM3;GD32F10X_MD;USE_STDPERIPH_DRIVER;__GD32F103_SUBFAMILY;__GD32F10X_FAMILY;__NO_FPU_ENABLE" - c_user_include_directories="$(ProjectDir);$(ProjectDir)/CMSIS_5/CMSIS/Core/Include;$(ProjectDir)/User;$(ProjectDir)/User/Api;$(ProjectDir)/User/Libs/Include;$(ProjectDir)/User/Peripheral/AK517;$(ProjectDir)/User/Peripheral/CAN;$(ProjectDir)/User/Peripheral/DiaoDu;$(ProjectDir)/User/Peripheral/IR;$(ProjectDir)/User/Peripheral/M62429;$(ProjectDir)/User/Peripheral/QGEL50X;$(ProjectDir)/User/Peripheral/V58;$(ProjectDir)/../../../../arm/GD32F10x/Driver/Include;$(ProjectDir)/../../../../arm/GD32F10x/System/Include;$(ProjectDir)/../../../../arm/GD32F10x/Utils/Byte" + c_user_include_directories="$(ProjectDir);$(ProjectDir)/CMSIS_5/CMSIS/Core/Include;$(ProjectDir)/User;$(ProjectDir)/User/Api;$(ProjectDir)/User/Libs/Include;$(ProjectDir)/User/Peripheral/AK517;$(ProjectDir)/User/Peripheral/CAN;$(ProjectDir)/User/Peripheral/DiaoDu;$(ProjectDir)/User/Peripheral/M62429;$(ProjectDir)/User/Peripheral/QGEL50X;$(ProjectDir)/User/Peripheral/V58;$(ProjectDir)/../../../../arm/GD32F10x/Driver/Include;$(ProjectDir)/../../../../arm/GD32F10x/System/Include;$(ProjectDir)/../../../../arm/GD32F10x/Utils/Byte" debug_register_definition_file="$(ProjectDir)/GD32F10x_MD_Registers.xml" debug_stack_pointer_start="__stack_end__" debug_start_from_entry_point_symbol="Yes" debug_target_connection="J-Link" gcc_entry_point="Reset_Handler" link_linker_script_file="$(ProjectDir)/GD32F10x_Flash.icf" - linker_memory_map_file="$(ProjectDir)/GD32F103CB_MemoryMap.xml" + linker_memory_map_file="$(ProjectDir)/GD32F103C8_MemoryMap.xml" linker_output_format="bin" linker_printf_fp_enabled="Float" linker_section_placements_segments="FLASH1 RX 0x08000000 0x00020000;RAM1 RWX 0x20000000 0x00005000;" - macros="DeviceHeaderFile=$(PackagesDir)/GD32F10x/Device/Include/gd32f10x.h;DeviceSystemFile=$(PackagesDir)/GD32F10x/Device/Source/system_gd32f10x.c;DeviceVectorsFile=$(PackagesDir)/GD32F10x/Source/gd32f10x_md_Vectors.s;DeviceFamily=GD32F10x;DeviceSubFamily=GD32F103;Target=GD32F103CB" + macros="DeviceHeaderFile=$(PackagesDir)/GD32F10x/Device/Include/gd32f10x.h;DeviceSystemFile=$(PackagesDir)/GD32F10x/Device/Source/system_gd32f10x.c;DeviceVectorsFile=$(PackagesDir)/GD32F10x/Source/gd32f10x_md_Vectors.s;DeviceFamily=GD32F10x;DeviceSubFamily=GD32F103;Target=GD32F103C8" project_directory="App" project_type="Executable" target_reset_script="Reset();" @@ -165,10 +165,6 @@ - - - - @@ -202,7 +198,7 @@ arm_rtl_variant="SEGGER" arm_simulator_memory_simulation_parameter="ROM;0x08000000;0x00020000;RAM;0x20000000;0x00005000" arm_target_debug_interface_type="ADIv5" - arm_target_device_name="GD32F103CB" + arm_target_device_name="GD32F103C8" arm_target_interface_type="SWD" c_preprocessor_definitions="ARM_MATH_CM3;GD32F10X_MD;USE_STDPERIPH_DRIVER;__GD32F103_SUBFAMILY;__GD32F10X_FAMILY;__NO_FPU_ENABLE" c_user_include_directories="$(ProjectDir);$(ProjectDir)/CMSIS_5/CMSIS/Core/Include;$(ProjectDir)/User;$(ProjectDir)/../../../../arm/GD32F10x/Driver/Include;$(ProjectDir)/../../../../arm/GD32F10x/System/Include;$(ProjectDir)/../../../../arm/GD32F10x/Utils/Byte" @@ -212,10 +208,10 @@ debug_target_connection="J-Link" gcc_entry_point="Reset_Handler" link_linker_script_file="$(ProjectDir)/GD32F10x_Flash.icf" - linker_memory_map_file="$(ProjectDir)/GD32F103CB_MemoryMap.xml" + linker_memory_map_file="$(ProjectDir)/GD32F103C8_MemoryMap.xml" linker_output_format="hex" - linker_section_placements_segments="FLASH1 RX 0x08000000 0x00020000;RAM1 RWX 0x20000000 0x00005000;" - macros="DeviceHeaderFile=$(PackagesDir)/GD32F10x/Device/Include/gd32f10x.h;DeviceSystemFile=$(PackagesDir)/GD32F10x/Device/Source/system_gd32f10x.c;DeviceVectorsFile=$(PackagesDir)/GD32F10x/Source/gd32f10x_md_Vectors.s;DeviceFamily=GD32F10x;DeviceSubFamily=GD32F103;Target=GD32F103CB" + linker_section_placements_segments="FLASH1 RX 0x08000000 0x00010000;RAM1 RWX 0x20000000 0x00005000;" + macros="DeviceHeaderFile=$(PackagesDir)/GD32F10x/Device/Include/gd32f10x.h;DeviceSystemFile=$(PackagesDir)/GD32F10x/Device/Source/system_gd32f10x.c;DeviceVectorsFile=$(PackagesDir)/GD32F10x/Source/gd32f10x_md_Vectors.s;DeviceFamily=GD32F10x;DeviceSubFamily=GD32F103;Target=GD32F103C8" project_directory="Bootloader" project_type="Executable" target_reset_script="Reset();" diff --git a/GD32F103C8T6/GD32F10x.emSession b/GD32F103C8T6/GD32F10x.emSession index 5f04fae..b8dd771 100644 --- a/GD32F103C8T6/GD32F10x.emSession +++ b/GD32F103C8T6/GD32F10x.emSession @@ -2,6 +2,7 @@ + @@ -37,7 +38,6 @@ - @@ -89,27 +89,26 @@ - - - - - - + + + + + - + - + - - - - + + + + - + diff --git a/WpfApp1/WpfApp1/MainWindow.xaml b/WpfApp1/WpfApp1/MainWindow.xaml index afa147c..e3ad697 100644 --- a/WpfApp1/WpfApp1/MainWindow.xaml +++ b/WpfApp1/WpfApp1/MainWindow.xaml @@ -77,7 +77,6 @@ - diff --git a/协议文档/通信协议说明.docx b/协议文档/通信协议说明.docx index 532cc3c74b9798d907beb4f7ad586e1945a71c70..dc00acb16545840923017c795ba5d2c5b5d21965 100644 GIT binary patch delta 42648 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 GnfO1Ao)R_y