This commit is contained in:
hehaoyang 2023-11-17 11:07:26 +08:00
parent 8ac1ad5ec4
commit e9421877a4
12 changed files with 198 additions and 179 deletions

5
.gitignore vendored
View File

@ -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

View File

@ -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;

View File

@ -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)
{

View File

@ -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);

View File

@ -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,34 +334,52 @@ 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_type = 4;
status = 0x00;
status_type = 5;
}
}
/* 到站 */
else if (diaodu_status_temporry == 1)
{
status = 0x01;
status_type = 4;
/* 优先级最高,关闭语音 */
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(door_status == 0)
{
/* 进站状态, 不继续执行 */
if (diaodu_status == 1)
{
/* 当前后门开启后 */
if (door_status == 0)
{
/* 重置进站状态 */
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;
/* 屏蔽此时左转弯数据 */
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;
status = turn_left_status;
//printf("left status = %d \r\n", status);
/* 屏蔽此时左转弯数据 */
if (turn_left_status == 1 && turn_right_status == 0)
status_type = 0xFF;
goto EXECUTE;
}
}
TURN_RIGHT_STATUS_TAG2:
@ -565,15 +604,21 @@ TURN_RIGHT_STATUS_TAG2:
turn_right_parsing_count = 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;
status = turn_right_status;
//printf("right status = %d \r\n", status);
/* 屏蔽此时右转弯数据 */
if (turn_right_status == 1 && turn_left_status == 0)
status_type = 0xFF;
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;

View File

@ -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);
}

View File

@ -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 <stdarg.h>
@ -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

View File

@ -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"

View File

@ -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 @@
<file file_name="User/Peripheral/DiaoDu/diaodu.c" />
<file file_name="User/Peripheral/DiaoDu/diaodu.h" />
</folder>
<folder Name="IR">
<file file_name="User/Peripheral/IR/ir.c" />
<file file_name="User/Peripheral/IR/ir.h" />
</folder>
<folder Name="M62429">
<file file_name="User/Peripheral/M62429/m62429.c" />
<file file_name="User/Peripheral/M62429/m62429.h" />
@ -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();"

View File

@ -2,6 +2,7 @@
<session>
<Bookmarks/>
<Breakpoints groups="Breakpoints" active_group="Breakpoints">
<BreakpointListItem trigger="" line="218" counter="0" hardwareBreakpoint="" isFunctionBreakpoint="false" action="" expression="" group="Breakpoints" type="Breakpoint" state="2" filename="App/User/app.c" useHWbreakpoint="false"/>
<BreakpointListItem trigger="" line="92" counter="0" hardwareBreakpoint="" isFunctionBreakpoint="false" action="" expression="" group="Breakpoints" type="Breakpoint" state="2" filename="../../../arm/GD32F10x/System/Source/task.c" useHWbreakpoint="false"/>
</Breakpoints>
<ExecutionProfileWindow/>
@ -37,7 +38,6 @@
<ProjectSessionItem path="GD32F10x;App;User"/>
<ProjectSessionItem path="GD32F10x;App;User;Api"/>
<ProjectSessionItem path="GD32F10x;App;User;Peripheral"/>
<ProjectSessionItem path="GD32F10x;App;User;Peripheral;IR"/>
<ProjectSessionItem path="GD32F10x;App;User;Peripheral;M62429"/>
<ProjectSessionItem path="GD32F10x;App;User;Peripheral;V58"/>
<ProjectSessionItem path="GD32F10x;Bootloader"/>
@ -89,27 +89,26 @@
</Watch4>
<Files>
<SessionOpenFile windowGroup="DockEditLeft" x="0" y="5" useTextEdit="1" path="App/main.c" left="0" top="0" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="2" y="7" useTextEdit="1" openedFrom="F:/Works/Tvis/AVS/GD32F103C8T6/App/User/app.c" path="App/main.h" left="0" top="7" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="0" y="747" useTextEdit="1" openedFrom="X:/Works/Tvis/AVS/V1.20/App/User/Peripheral/IR/ir.c" path="App/User/app.c" left="0" top="732" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="0" y="56" useTextEdit="1" openedFrom="X:/Works/Tvis/AVS/GD32F103C8T6/App/User/app.c" path="App/User/Peripheral/V58/v58.c" left="0" top="56" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="49" y="38" useTextEdit="1" path="App/User/Api/api.h" left="0" selected="1" top="18" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="38" y="199" useTextEdit="1" openedFrom="X:/Works/Tvis/AVS/GD32F103C8T6/App/User/Api/api.h" path="App/User/Api/api.c" left="0" top="170" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="0" y="56" useTextEdit="1" openedFrom="F:/Works/Tvis/AVS/GD32F103C8T6(1.1)/App/main.c" path="../../../arm/GD32F10x/System/Source/task.c" left="0" top="55" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="22" y="111" useTextEdit="1" openedFrom="F:/Works/Tvis/AVS/GD32F103C8T6/App/User/app.c" path="App/main.h" left="0" top="61" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="19" y="695" useTextEdit="1" openedFrom="X:/Works/Tvis/AVS/V1.20/App/User/Peripheral/IR/ir.c" path="App/User/app.c" left="0" selected="1" top="662" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="52" y="24" useTextEdit="1" path="App/User/Api/api.h" left="0" top="18" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="38" y="199" useTextEdit="1" openedFrom="X:/Works/Tvis/AVS/GD32F103C8T6/App/User/Api/api.h" path="App/User/Api/api.c" left="0" top="187" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="0" y="56" useTextEdit="1" openedFrom="F:/Works/Tvis/AVS/GD32F103C8T6(1.1)/App/main.c" path="../../../arm/GD32F10x/System/Source/task.c" left="0" top="34" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="24" y="4" useTextEdit="1" openedFrom="F:/Works/Tvis/AVS/GD32F103C8T6/App/User/Api/api.c" path="../../../arm/GD32F10x/System/Source/setting.c" left="9" top="1" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="8" y="5" useTextEdit="1" openedFrom="F:/Works/arm/GD32F10x/System/Source/setting.c" path="../../../arm/GD32F10x/System/Include/setting.h" left="0" top="1" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="26" y="20" useTextEdit="1" path="App/User/Peripheral/CAN/can_parsing.c" left="11" top="17" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="0" y="0" useTextEdit="1" path="App/User/Peripheral/DiaoDu/diaodu.c" left="0" top="0" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="5" y="99" useTextEdit="1" path="App/User/Peripheral/M62429/m62429.c" left="0" top="85" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="5" y="99" useTextEdit="1" path="App/User/Peripheral/M62429/m62429.c" left="0" top="55" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="0" y="0" useTextEdit="1" path="App/User/Peripheral/IR/ir.h" left="0" top="0" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="55" y="72" useTextEdit="1" path="App/User/Peripheral/IR/ir.c" left="0" top="64" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="35" y="6" useTextEdit="1" path="App/User/Peripheral/M62429/m62429.h" left="20" top="3" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="32" y="16" useTextEdit="1" path="App/User/Peripheral/V58/v58.h" left="17" top="13" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="23" y="198" useTextEdit="1" openedFrom="F:/Works/Tvis/AVS/GD32F103C8T6(1.1)/App/main.c" path="../../../arm/GD32F10x/System/Source/can.c" left="0" top="177" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="23" y="198" useTextEdit="1" openedFrom="F:/Works/Tvis/AVS/GD32F103C8T6(1.1)/App/main.c" path="../../../arm/GD32F10x/System/Source/can.c" left="0" top="173" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="0" y="122" useTextEdit="1" openedFrom="F:/Works/arm/GD32F10x/System/Source/can.c" path="../../../arm/GD32F10x/Driver/Source/gd32f10x_rcu.c" left="0" top="119" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="41" y="36" useTextEdit="1" path="Bootloader/main.h" left="0" top="10" codecName="Default"/>
<SessionOpenFile windowGroup="DockEditLeft" x="8" y="32" useTextEdit="1" path="Bootloader/main.c" left="0" top="14" codecName="Default"/>
<SessionOpenFile windowGroup="DockEditLeft" x="73" y="117" useTextEdit="1" path="GD32F10x.emProject" left="0" top="110" codecName="Default"/>
<SessionOpenFile windowGroup="DockEditLeft" x="9" y="6" useTextEdit="1" path="../../../arm/GD32F10x/System/Include/system.h" left="0" top="0" codecName="Default"/>
<SessionOpenFile windowGroup="DockEditLeft" x="41" y="36" useTextEdit="1" path="Bootloader/main.h" left="0" top="2" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="8" y="32" useTextEdit="1" path="Bootloader/main.c" left="0" top="14" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="73" y="117" useTextEdit="1" path="GD32F10x.emProject" left="0" top="110" codecName="UTF-8"/>
<SessionOpenFile windowGroup="DockEditLeft" x="9" y="6" useTextEdit="1" path="../../../arm/GD32F10x/System/Include/system.h" left="0" top="0" codecName="UTF-8"/>
</Files>
<EMStudioWindow activeProject="App" fileDialogDefaultFilter="*" autoConnectTarget="J-Link" buildConfiguration="Debug" sessionSettings="" debugSearchFileMap="/Volumes/HIKVISION/Works/Tvis/AVS/GD32F103C8T6/App/SEGGER_THUMB_Startup.s&#xa;F:/Works/Tvis/AVS/GD32F103C8T6/App/SEGGER_THUMB_Startup.s&#xa;CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h&#xa;/Volumes/HIKVISION/Works/Tvis/AVS/GD32F103C8T6/App/User/Peripheral/AK517/ak517.h&#xa;CMSIS_5/CMSIS/Core/Include/core_cm3.h&#xa;/Volumes/HIKVISION/Works/Tvis/AVS/GD32F103C8T6/App/User/Peripheral/AK517/ak517.c" fileDialogInitialDirectory="/Volumes/HIKVISION/Works/Tvis/AVS/GD32F103C8T6/App/User/Peripheral/QGEL50X" debugSearchPath="" autoConnectCapabilities="3711"/>
<EMStudioWindow activeProject="App" fileDialogDefaultFilter="*.c" autoConnectTarget="J-Link" buildConfiguration="Debug" sessionSettings="" debugSearchFileMap="/Volumes/HIKVISION/Works/Tvis/AVS/GD32F103C8T6/App/SEGGER_THUMB_Startup.s&#xa;F:/Works/Tvis/AVS/GD32F103C8T6/App/SEGGER_THUMB_Startup.s&#xa;CMSIS_5/CMSIS/Core/Include/cmsis_gcc.h&#xa;/Volumes/HIKVISION/Works/Tvis/AVS/GD32F103C8T6/App/User/Peripheral/AK517/ak517.h&#xa;CMSIS_5/CMSIS/Core/Include/core_cm3.h&#xa;/Volumes/HIKVISION/Works/Tvis/AVS/GD32F103C8T6/App/User/Peripheral/AK517/ak517.c&#xa;User\Peripheral\V58/v58.c&#xa;/Volumes/HIKVISION/Works/Tvis/AVS/GD32F103C8T6/App/User/Peripheral/V58/v58.c" fileDialogInitialDirectory="/Volumes/HIKVISION/Works/Tvis/AVS/GD32F103C8T6/App/User/Peripheral/V58" debugSearchPath="" autoConnectCapabilities="3199"/>
</session>

View File

@ -77,7 +77,6 @@
<ComboBox Name="m_can_type" Width="Auto">
<ComboBoxItem Content="BYD一代"/>
<ComboBoxItem Content="BYD二代"/>
<ComboBoxItem Content="BYD三代"/>
<ComboBoxItem Content="宇通"/>
<ComboBoxItem Content="金龙"/>
<ComboBoxItem Content="安凯"/>

Binary file not shown.