根据实际电路版修改对应引脚,LED KEY LCD 正常运行

This commit is contained in:
2026-01-25 13:02:58 +08:00
parent a2224908e3
commit 065f070cfa
93 changed files with 5750 additions and 9255 deletions

View File

@@ -19,14 +19,6 @@
#include <string.h>
#include <stdio.h>
/* ============================================================================
* 编译选项配置
* ============================================================================ */
//#define STATIC_BOX /**< 静态框显示模式(已注释) */
#define DYNAMIC_BOX /**< 动态框显示模式 */
#define TEST_DELAY_TIME 600 /**< 测试延时时间(单位:毫秒) */
#define VERSION_CODE "Ver0.05(XRD)" /**< 版本号字符串 */
/* ============================================================================
* LCD偏置电压配置宏定义
* ============================================================================ */
@@ -146,12 +138,13 @@
#define UC1698U_RST_L() do{HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10, GPIO_PIN_RESET);}while(0)
/** @brief 设置背光引脚为关闭 */
#define LCD_BackLight_OFF() do{HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);}while(0)
#define LCD_BackLight_OFF() do{HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);}while(0)
/** @brief 设置背光引脚为打开 */
#define LCD_BackLight_ON() do{HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);}while(0)
#define LCD_BackLight_ON() do{HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);}while(0)
volatile static uint32_t BackLightCount = 0;
#define BackLightTimeMax (20000) //五分钟
#define BackLightTimeMax (20000) /* 100s */
/**
* @brief 背光处理函数
@@ -1326,7 +1319,30 @@ void FillBoxScreen(uint8_t x, uint8_t y, uint8_t len, uint8_t high, uint8_t byte
y++; /* 移动到下一行 */
}
}
void LCD_GPIO_Init(void)
{
GPIO_InitTypeDef gpio_init_struct;
__HAL_RCC_GPIOB_CLK_ENABLE(); // 时钟初始化
__HAL_RCC_GPIOE_CLK_ENABLE(); // 时钟初始化
// 配置 LCD 引脚
gpio_init_struct.Pin = GPIO_PIN_14 | GPIO_PIN_13 | GPIO_PIN_12 | GPIO_PIN_11 | GPIO_PIN_10 | GPIO_PIN_0;
gpio_init_struct.Mode = GPIO_MODE_OUTPUT_PP; /*推挽输出模式*/
gpio_init_struct.Pull = GPIO_PULLUP;
gpio_init_struct.Speed = GPIO_SPEED_HIGH;
// 初始化 LCD 选引脚
HAL_GPIO_Init(GPIOB, &gpio_init_struct);
// 配置 LCD 引脚
gpio_init_struct.Pin = GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15;
gpio_init_struct.Mode = GPIO_MODE_OUTPUT_PP; /*推挽输出模式*/
gpio_init_struct.Pull = GPIO_PULLUP;
gpio_init_struct.Speed = GPIO_SPEED_HIGH;
// 初始化 LCD 选引脚
HAL_GPIO_Init(GPIOE, &gpio_init_struct);
}
/**
* @brief LCD初始化总函数
* @note 执行LCD初始化的完整流程
@@ -1337,6 +1353,8 @@ void FillBoxScreen(uint8_t x, uint8_t y, uint8_t len, uint8_t high, uint8_t byte
*/
void LcdInit(void)
{
LCD_GPIO_Init();
LCD_BackLight_ON();
LCD_Reset(); /* 硬件复位 */
LCD_InitXRD(); /* 初始化配置XRD版本 */
ClearScreen(); /* 清屏 */
@@ -1647,22 +1665,6 @@ void DrawPoint(uint8_t x, uint8_t y)
DisplayVerticalLine(x + 1, y + 4, 1, 0x60);
DisplayHorizontalLine(x + 1, y + 5, 1);
}
/**
* @brief 擦除线条(内部函数,用于动态框效果)
* @param x 起始列坐标X坐标
* @param y 起始行坐标Y坐标
* @param len 线条长度(像素单位)
* @param high 线条高度(行数)
* @note 擦除指定区域的线条,用于实现动态框的擦除效果
* 擦除底部3行和右侧1列
* @retval 无
*/
static void EraseLine(uint8_t x, uint8_t y, uint8_t len, uint8_t high)
{
FillBoxScreen(x, y + high, len + 1, 3, 0x00); /* 擦除底部3行 */
FillBoxScreen(x + len, y, 1, high + 1, 0x00); /* 擦除右侧1列 */
}
/**
* @brief 显示消息提示框(静态模式)
* @note 在屏幕指定位置显示一个带阴影的消息提示框

View File

@@ -11,7 +11,7 @@
*/
#include "key.h"
#include "160160D.h"
// 按键配置结构体
typedef struct {
@@ -37,17 +37,16 @@ typedef struct {
*/
// 按键配置表
static const KeyConfig_t key_configs[] = {
{15, GPIOB, KEY_ENTER},
{11, GPIOD, KEY_UP},
{10, GPIOD, KEY_DOWN},
{13, GPIOD, KEY_LEFT},
{8, GPIOD, KEY_RIGHT},
{12, GPIOD, KEY_ESC},
{14, GPIOD, KEY_ADD},
{9, GPIOD, KEY_DEC},
{15, GPIOD, KEY_RESET},
{GPIO_PIN_12, GPIOD, KEY_ENTER},
{GPIO_PIN_11, GPIOD, KEY_UP},
{GPIO_PIN_10, GPIOD, KEY_DOWN},
{GPIO_PIN_13, GPIOD, KEY_LEFT},
{GPIO_PIN_8, GPIOD, KEY_RIGHT},
{GPIO_PIN_15, GPIOB, KEY_ESC},
{GPIO_PIN_3, GPIOB, KEY_ADD},
{GPIO_PIN_15, GPIOD, KEY_RESET},
};
#define KEY_COUNT (sizeof(key_configs) / sizeof(key_configs[0]))
#define KEY_COUNT (sizeof(key_configs) / sizeof(key_configs[0]))
// 按键句柄数组
static Button btn_handles[KEY_COUNT];
@@ -62,13 +61,13 @@ static KeyCallback key_callback = NULL;
*/
static uint8_t button_read_level(uint8_t button_id)
{
uint16_t pin_bit = HAL_GPIO_ReadPin(key_configs[button_id].port, key_configs[button_id].pin);
uint8_t pin_bit = HAL_GPIO_ReadPin(key_configs[button_id].port, key_configs[button_id].pin);
return pin_bit;
}
/**
* @brief 统一的按键回调函数(内部使用,调用业务逻辑回调)
* @param btn 按键句柄指针
* @param btn 按键句柄指针
*/
static void button_callback(Button* btn)
{
@@ -118,27 +117,28 @@ static void KEY_GPIO_ClockEnable(GPIO_TypeDef *port)
**************************************************************************************/
void Key_Init(void)
{
GPIO_InitTypeDef gpio_init_struct;
/*由于使用了 PB3 才需要特殊加的*/
__HAL_RCC_AFIO_CLK_ENABLE(); // AFIO时钟修改AFIO寄存器前必须
// 统一配置GPIO参数
gpio_init_struct.Mode = GPIO_MODE_INPUT;
gpio_init_struct.Pull = GPIO_PULLUP;
gpio_init_struct.Speed = GPIO_SPEED_HIGH;
/* 禁用JTAG保留SWDPA13、PA14仍可用于调试*/
/* 这会释放 PA15、PB3、PB4 作为普通GPIO */
__HAL_AFIO_REMAP_SWJ_NOJTAG();
GPIO_InitTypeDef gpio_init_struct = {0};
// 批量初始化GPIO
for (uint8_t i = 0; i < KEY_COUNT; i++)
{
/* 使能对应GPIO时钟 */
KEY_GPIO_ClockEnable(key_configs[i].port);
// 配置并初始化引脚
gpio_init_struct.Pin = key_configs[i].pin;
HAL_GPIO_Init(key_configs[i].port, &gpio_init_struct);
}
// 批量初始化MultiButton按键active_level=0表示低电平有效
for (uint8_t button_id = 0; button_id < KEY_COUNT; button_id++)
{
/* 使能对应GPIO时钟 */
KEY_GPIO_ClockEnable(key_configs[button_id].port);
// 配置并初始化引脚
gpio_init_struct.Pin = key_configs[button_id].pin;
gpio_init_struct.Mode = GPIO_MODE_INPUT;
gpio_init_struct.Pull = GPIO_NOPULL;
gpio_init_struct.Speed = GPIO_SPEED_HIGH;
HAL_GPIO_Init(key_configs[button_id].port, &gpio_init_struct);
button_init(&btn_handles[button_id], button_read_level, 0, button_id);
button_attach(&btn_handles[button_id], BTN_SINGLE_CLICK, button_callback);
button_start(&btn_handles[button_id]);

View File

@@ -22,65 +22,65 @@
* {GPIOB, GPIO_PIN_5, LED_POLARITY_HIGH_ACTIVE, GPIO_PIN_RESET, GPIO_SPEED_FREQ_MEDIUM, GPIO_NOPULL}
* ============================================================================ */
static const LED_Config_t led_config[LED_COUNT] = {
/* LED1: PD6 - 低电平有效 */
{GPIOD, GPIO_PIN_6, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED2: PD5 - 低电平有效 */
{GPIOD, GPIO_PIN_5, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED3: PD4 - 低电平有效 */
{GPIOD, GPIO_PIN_4, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED4: PD3 - 低电平有效 */
{GPIOD, GPIO_PIN_3, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED5: PD2 - 低电平有效 */
{GPIOD, GPIO_PIN_2, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED6: PD1 - 低电平有效 */
{GPIOD, GPIO_PIN_1, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED7: PD0 - 低电平有效 */
{GPIOD, GPIO_PIN_0, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED8: PC12 - 低电平有效 */
{GPIOC, GPIO_PIN_12, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED9: PA12 - 低电平有效 */
{GPIOA, GPIO_PIN_12, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED10: PA11 - 低电平有效 */
{GPIOA, GPIO_PIN_11, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED11: PA10 - 低电平有效 */
{GPIOA, GPIO_PIN_10, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED12: PA9 - 低电平有效 */
{GPIOA, GPIO_PIN_9, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED13: PA8 - 低电平有效 */
{GPIOA, GPIO_PIN_8, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED14: PC9 - 低电平有效 */
{GPIOC, GPIO_PIN_9, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED15: PC8 - 低电平有效 */
/* LED1 低电平有效 */
{GPIOC, GPIO_PIN_8, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED16: PC7 - 低电平有效 */
/* LED2 低电平有效 */
{GPIOC, GPIO_PIN_9, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED3 低电平有效 */
{GPIOA, GPIO_PIN_9, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED4 低电平有效 */
{GPIOA, GPIO_PIN_11, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED5 低电平有效 */
{GPIOA, GPIO_PIN_15, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED6 低电平有效 */
{GPIOC, GPIO_PIN_11, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED7 低电平有效 */
{GPIOD, GPIO_PIN_0, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED8 低电平有效 */
{GPIOD, GPIO_PIN_2, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED9 低电平有效 */
{GPIOD, GPIO_PIN_4, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED10 低电平有效 */
{GPIOD, GPIO_PIN_6, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED11 低电平有效 */
{GPIOC, GPIO_PIN_7, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED17: PE3 - 低电平有效 */
{GPIOE, GPIO_PIN_3, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED12 低电平有效 */
{GPIOA, GPIO_PIN_8, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED18: PE4 - 低电平有效 */
{GPIOE, GPIO_PIN_4, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED13 低电平有效 */
{GPIOA, GPIO_PIN_10, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED19: PE2 - 低电平有效 */
{GPIOE, GPIO_PIN_2, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED14 低电平有效 */
{GPIOA, GPIO_PIN_12, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED20: PE5 - 低电平有效 */
{GPIOE, GPIO_PIN_5, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED15 低电平有效 */
{GPIOC, GPIO_PIN_10, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED16 低电平有效 */
{GPIOC, GPIO_PIN_12, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED17 低电平有效 */
{GPIOD, GPIO_PIN_1, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED18 低电平有效 */
{GPIOD, GPIO_PIN_3, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED19 低电平有效 */
{GPIOD, GPIO_PIN_5, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
/* LED20 低电平有效 */
{GPIOD, GPIO_PIN_7, LED_POLARITY_LOW_ACTIVE, GPIO_PIN_SET, GPIO_SPEED_FREQ_HIGH, GPIO_PULLUP},
};
/* LED状态数组 - 使用枚举类型提高类型安全性 */

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,68 +0,0 @@
..\..\output\162160d.o: ..\..\Drivers\BSP\162160D\162160D.C
..\..\output\162160d.o: ..\..\Drivers\BSP\162160D\160160D.h
..\..\output\162160d.o: ..\..\Drivers\./SYSTEM/sys/sys.h
..\..\output\162160d.o: ..\..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h
..\..\output\162160d.o: ..\..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h
..\..\output\162160d.o: ..\..\Drivers\CMSIS\Include\core_cm3.h
..\..\output\162160d.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
..\..\output\162160d.o: ..\..\Drivers\CMSIS\Include\cmsis_version.h
..\..\output\162160d.o: ..\..\Drivers\CMSIS\Include\cmsis_compiler.h
..\..\output\162160d.o: ..\..\Drivers\CMSIS\Include\cmsis_armcc.h
..\..\output\162160d.o: ..\..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h
..\..\output\162160d.o: ..\..\Users\stm32f1xx_hal_conf.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h
..\..\output\162160d.o: ..\..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy/stm32_hal_legacy.h
..\..\output\162160d.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_exti.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_eth.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_can.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cec.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_adc.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_adc_ex.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_crc.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dac.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dac_ex.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_sram.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_fsmc.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_nor.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_i2c.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_i2s.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pccard.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_sd.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_sdmmc.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_nand.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_spi.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_usart.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_irda.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_smartcard.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_wwdg.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pcd.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_usb.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pcd_ex.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_hcd.h
..\..\output\162160d.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_mmc.h
..\..\output\162160d.o: ..\..\Drivers\./SYSTEM/delay/delay.h
..\..\output\162160d.o: ..\..\Users\config.h
..\..\output\162160d.o: ..\..\Drivers\BSP\162160D\GraphicsLibrary.h
..\..\output\162160d.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h
..\..\output\162160d.o: ..\..\Drivers\BSP\162160D\ChineseLibraryCrossWise12x12.h
..\..\output\162160d.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\math.h
..\..\output\162160d.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h

Binary file not shown.

View File

@@ -5,76 +5,76 @@
<h2>Tool Versions:</h2>
IDE-Version: ¦ÌVision V5.36.0.0
Copyright (C) 2021 ARM Ltd and ARM Germany GmbH. All rights reserved.
License Information: wader Administrator, wader, LIC=ZB4EI-TPLGT-NNNAF-69R37-GC9L6-CVJQF
License Information: eeqwrq 1624155937@qq.com, afsa, LIC=GMZI6-D93CI-01BP1-CJM5B-NN00U-01A4V
Tool Versions:
Toolchain: MDK-ARM Plus Version: 5.42.0.0
Toolchain: MDK-ARM Plus Version: 5.36.0.0
Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin
C Compiler: Armcc.exe V5.06 update 7 (build 960)
Assembler: Armasm.exe V5.06 update 7 (build 960)
Linker/Locator: ArmLink.exe V5.06 update 7 (build 960)
Library Manager: ArmAr.exe V5.06 update 7 (build 960)
Hex Converter: FromElf.exe V5.06 update 7 (build 960)
CPU DLL: SARMCM3.DLL V5.42.0.0
Dialog DLL: DCM.DLL V1.17.5.0
CPU DLL: SARMCM3.DLL V5.36.0.0
Dialog DLL: DCM.DLL V1.17.3.0
Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.9.0
Dialog DLL: TCM.DLL V1.56.6.0
Dialog DLL: TCM.DLL V1.53.0.0
<h2>Project:</h2>
D:\Code\DTU\³ÌÐò\LED\Projects\MDK-ARM\atk_f103.uvprojx
D:\Code\DTU ³ÌÐò\DTU-LCD\Projects\MDK-ARM\atk_f103.uvprojx
Project File Date: 01/24/2026
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'Template'
assembling startup_stm32f103xe.s...
compiling stm32f1xx_hal.c...
compiling usart.c...
compiling sys.c...
compiling File_Handle.c...
compiling stm32f1xx_hal_rcc_ex.c...
compiling stm32f1xx_hal_cortex.c...
compiling stm32f1xx_hal_gpio.c...
compiling stm32f1xx_it.c...
compiling stm32f1xx_hal_rcc_ex.c...
compiling system_stm32f1xx.c...
compiling stm32f1xx_hal_dma.c...
compiling stm32f1xx_hal.c...
compiling stm32f1xx_hal_gpio_ex.c...
compiling sys.c...
compiling usart.c...
compiling stm32f1xx_hal_rcc.c...
compiling stm32f1xx_hal_flash_ex.c...
compiling main.c...
compiling stm32f1xx_hal_flash.c...
compiling delay.c...
compiling stm32f1xx_hal_uart.c...
compiling File_Handle.c...
compiling led.c...
compiling system_stm32f1xx.c...
compiling stm32f1xx_hal_usart.c...
compiling stm32f1xx_hal_gpio_ex.c...
compiling delay.c...
compiling gtim.c...
compiling stm32f1xx_hal_spi.c...
compiling stm32f1xx_hal_tim_ex.c...
compiling stm32f1xx_hal_tim.c...
compiling stm32f1xx_it.c...
compiling main.c...
compiling stm32f1xx_hal_uart.c...
compiling MultiButton.c...
compiling key.c...
compiling led.c...
compiling stm32f1xx_hal_rcc.c...
compiling stm32f1xx_hal_tim_ex.c...
compiling stm32f1xx_hal_dma.c...
compiling stm32f1xx_hal_spi.c...
compiling stm32f1xx_hal_tim.c...
compiling wdog.c...
compiling key.c...
compiling rs485.c...
compiling 160160D.C...
compiling CRC16.c...
compiling MODBUS.c...
compiling 160160D.C...
linking...
Program Size: Code=15090 RO-data=1318 RW-data=80 ZI-data=12264
Program Size: Code=15574 RO-data=5866 RW-data=80 ZI-data=12216
FromELF: creating hex file...
"..\..\Output\atk_f103.axf" - 0 Error(s), 0 Warning(s).
"..\..\Output\DTU.axf" - 0 Error(s), 0 Warning(s).
<h2>Software Packages used:</h2>
Package Vendor: Keil
https://www.keil.com/pack/Keil.STM32F1xx_DFP.2.4.1.pack
Keil.STM32F1xx_DFP.2.4.1
http://www.keil.com/pack/Keil.STM32F1xx_DFP.2.3.0.pack
Keil.STM32F1xx_DFP.2.3.0
STMicroelectronics STM32F1 Series Device Support, Drivers and Examples
<h2>Collection of Component include folders:</h2>
C:\Users\Administrator\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include
C:\Users\16241\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include
<h2>Collection of Component Files used:</h2>
Build Time Elapsed: 00:00:07
Build Time Elapsed: 00:00:05
</pre>
</body>
</html>

1348
Output/DTU.hex Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,9 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [..\..\Output\atk_f103.axf]</title></head>
<title>Static Call Graph - [..\..\Output\DTU.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image ..\..\Output\atk_f103.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Sat Jan 24 17:23:45 2026
<H1>Static Call Graph for image ..\..\Output\DTU.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Sun Jan 25 12:58:29 2026
<BR><P>
<H3>Maximum Stack Usage = 180 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@@ -121,9 +121,9 @@ Global Symbols
<BR><BR>[Calls]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
</UL>
<P><STRONG><a name="[d5]"></a>__scatterload_rt2_thumb_only</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[d9]"></a>__scatterload_rt2_thumb_only</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[d6]"></a>__scatterload_null</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[da]"></a>__scatterload_null</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[57]"></a>__scatterload_copy</STRONG> (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
@@ -131,80 +131,80 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
</UL>
<P><STRONG><a name="[d7]"></a>__scatterload_zeroinit</STRONG> (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[db]"></a>__scatterload_zeroinit</STRONG> (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[5b]"></a>__rt_lib_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_li
</UL>
<P><STRONG><a name="[d8]"></a>__rt_lib_init_alloca_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))
<P><STRONG><a name="[dc]"></a>__rt_lib_init_alloca_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))
<P><STRONG><a name="[d9]"></a>__rt_lib_init_argv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C))
<P><STRONG><a name="[dd]"></a>__rt_lib_init_argv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C))
<P><STRONG><a name="[da]"></a>__rt_lib_init_atexit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))
<P><STRONG><a name="[de]"></a>__rt_lib_init_atexit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))
<P><STRONG><a name="[db]"></a>__rt_lib_init_clock_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))
<P><STRONG><a name="[df]"></a>__rt_lib_init_clock_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))
<P><STRONG><a name="[dc]"></a>__rt_lib_init_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))
<P><STRONG><a name="[e0]"></a>__rt_lib_init_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))
<P><STRONG><a name="[dd]"></a>__rt_lib_init_exceptions_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))
<P><STRONG><a name="[e1]"></a>__rt_lib_init_exceptions_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))
<P><STRONG><a name="[de]"></a>__rt_lib_init_fp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))
<P><STRONG><a name="[e2]"></a>__rt_lib_init_fp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))
<P><STRONG><a name="[df]"></a>__rt_lib_init_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))
<P><STRONG><a name="[e3]"></a>__rt_lib_init_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))
<P><STRONG><a name="[e0]"></a>__rt_lib_init_getenv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))
<P><STRONG><a name="[e4]"></a>__rt_lib_init_getenv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))
<P><STRONG><a name="[e1]"></a>__rt_lib_init_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A))
<P><STRONG><a name="[e5]"></a>__rt_lib_init_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A))
<P><STRONG><a name="[e2]"></a>__rt_lib_init_lc_collate_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011))
<P><STRONG><a name="[e6]"></a>__rt_lib_init_lc_collate_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011))
<P><STRONG><a name="[e3]"></a>__rt_lib_init_lc_ctype_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))
<P><STRONG><a name="[e7]"></a>__rt_lib_init_lc_ctype_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))
<P><STRONG><a name="[e4]"></a>__rt_lib_init_lc_monetary_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))
<P><STRONG><a name="[e8]"></a>__rt_lib_init_lc_monetary_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))
<P><STRONG><a name="[e5]"></a>__rt_lib_init_lc_numeric_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))
<P><STRONG><a name="[e9]"></a>__rt_lib_init_lc_numeric_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))
<P><STRONG><a name="[e6]"></a>__rt_lib_init_lc_time_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))
<P><STRONG><a name="[ea]"></a>__rt_lib_init_lc_time_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))
<P><STRONG><a name="[e7]"></a>__rt_lib_init_preinit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))
<P><STRONG><a name="[eb]"></a>__rt_lib_init_preinit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))
<P><STRONG><a name="[e8]"></a>__rt_lib_init_rand_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))
<P><STRONG><a name="[ec]"></a>__rt_lib_init_rand_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))
<P><STRONG><a name="[e9]"></a>__rt_lib_init_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033))
<P><STRONG><a name="[ed]"></a>__rt_lib_init_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033))
<P><STRONG><a name="[ea]"></a>__rt_lib_init_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))
<P><STRONG><a name="[ee]"></a>__rt_lib_init_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))
<P><STRONG><a name="[eb]"></a>__rt_lib_init_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))
<P><STRONG><a name="[ef]"></a>__rt_lib_init_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))
<P><STRONG><a name="[ec]"></a>__rt_lib_init_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))
<P><STRONG><a name="[f0]"></a>__rt_lib_init_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))
<P><STRONG><a name="[60]"></a>__rt_lib_shutdown</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_ls
</UL>
<P><STRONG><a name="[ed]"></a>__rt_lib_shutdown_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004))
<P><STRONG><a name="[f1]"></a>__rt_lib_shutdown_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004))
<P><STRONG><a name="[ee]"></a>__rt_lib_shutdown_fini_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))
<P><STRONG><a name="[f2]"></a>__rt_lib_shutdown_fini_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))
<P><STRONG><a name="[ef]"></a>__rt_lib_shutdown_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009))
<P><STRONG><a name="[f3]"></a>__rt_lib_shutdown_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009))
<P><STRONG><a name="[f0]"></a>__rt_lib_shutdown_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000011))
<P><STRONG><a name="[f4]"></a>__rt_lib_shutdown_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000011))
<P><STRONG><a name="[f1]"></a>__rt_lib_shutdown_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000012))
<P><STRONG><a name="[f5]"></a>__rt_lib_shutdown_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000012))
<P><STRONG><a name="[f2]"></a>__rt_lib_shutdown_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))
<P><STRONG><a name="[f6]"></a>__rt_lib_shutdown_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))
<P><STRONG><a name="[f3]"></a>__rt_lib_shutdown_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006))
<P><STRONG><a name="[f7]"></a>__rt_lib_shutdown_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006))
<P><STRONG><a name="[f4]"></a>__rt_lib_shutdown_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))
<P><STRONG><a name="[f8]"></a>__rt_lib_shutdown_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))
<P><STRONG><a name="[55]"></a>__rt_entry</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_rt2
</UL>
<P><STRONG><a name="[f5]"></a>__rt_entry_presh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))
<P><STRONG><a name="[f9]"></a>__rt_entry_presh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))
<P><STRONG><a name="[58]"></a>__rt_entry_sh</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
@@ -217,7 +217,7 @@ Global Symbols
<BR><BR>[Calls]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init
</UL>
<P><STRONG><a name="[f6]"></a>__rt_entry_postsh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))
<P><STRONG><a name="[fa]"></a>__rt_entry_postsh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))
<P><STRONG><a name="[5c]"></a>__rt_entry_main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
<BR><BR>[Stack]<UL><LI>Max Depth = 168 + Unknown Stack Size
@@ -227,7 +227,7 @@ Global Symbols
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
</UL>
<P><STRONG><a name="[f7]"></a>__rt_entry_postli_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))
<P><STRONG><a name="[fb]"></a>__rt_entry_postli_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))
<P><STRONG><a name="[67]"></a>__rt_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
@@ -237,7 +237,7 @@ Global Symbols
<BR><BR>[Calls]<UL><LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_shutdown
</UL>
<P><STRONG><a name="[f8]"></a>__rt_exit_prels_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))
<P><STRONG><a name="[fc]"></a>__rt_exit_prels_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))
<P><STRONG><a name="[61]"></a>__rt_exit_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_sys_exit
@@ -422,67 +422,67 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>
<P><STRONG><a name="[f9]"></a>__use_no_semihosting</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi_2.o(.text), UNUSED)
<P><STRONG><a name="[fd]"></a>__use_no_semihosting</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi_2.o(.text), UNUSED)
<P><STRONG><a name="[80]"></a>__aeabi_llsr</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_FLASH_Program
</UL>
<P><STRONG><a name="[fa]"></a>_ll_ushift_r</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
<P><STRONG><a name="[fe]"></a>_ll_ushift_r</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
<P><STRONG><a name="[bd]"></a>__aeabi_memcpy</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<P><STRONG><a name="[c1]"></a>__aeabi_memcpy</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
</UL>
<P><STRONG><a name="[63]"></a>__rt_memcpy</STRONG> (Thumb, 138 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
</UL>
<P><STRONG><a name="[fb]"></a>_memcpy_lastbytes</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_v6.o(.text), UNUSED)
<P><STRONG><a name="[ff]"></a>_memcpy_lastbytes</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_v6.o(.text), UNUSED)
<P><STRONG><a name="[64]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __aeabi_memcpy4
</UL>
<BR>[Called By]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_memcpy
</UL>
<P><STRONG><a name="[fc]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)
<P><STRONG><a name="[100]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)
<P><STRONG><a name="[fd]"></a>__rt_memcpy_w</STRONG> (Thumb, 100 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)
<P><STRONG><a name="[101]"></a>__rt_memcpy_w</STRONG> (Thumb, 100 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)
<P><STRONG><a name="[fe]"></a>_memcpy_lastbytes_aligned</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_w.o(.text), UNUSED)
<P><STRONG><a name="[102]"></a>_memcpy_lastbytes_aligned</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_w.o(.text), UNUSED)
<P><STRONG><a name="[ca]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text))
<P><STRONG><a name="[ce]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = __aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sys_stm32_clock_init
<BR>[Called By]<UL><LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sys_stm32_clock_init
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;button_init
</UL>
<P><STRONG><a name="[ff]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)
<P><STRONG><a name="[103]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)
<P><STRONG><a name="[100]"></a>__rt_memclr_w</STRONG> (Thumb, 78 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)
<P><STRONG><a name="[104]"></a>__rt_memclr_w</STRONG> (Thumb, 78 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)
<P><STRONG><a name="[101]"></a>_memset_w</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED)
<P><STRONG><a name="[105]"></a>_memset_w</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED)
<P><STRONG><a name="[102]"></a>__use_two_region_memory</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[106]"></a>__use_two_region_memory</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[103]"></a>__rt_heap_escrow$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[107]"></a>__rt_heap_escrow$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[104]"></a>__rt_heap_expand$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[108]"></a>__rt_heap_expand$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[105]"></a>__semihosting$guard</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[109]"></a>__semihosting$guard</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[106]"></a>__use_no_semihosting_swi</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[10a]"></a>__use_no_semihosting_swi</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[107]"></a>__user_libspace</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
<P><STRONG><a name="[10b]"></a>__user_libspace</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
<P><STRONG><a name="[65]"></a>__user_perproc_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>
<P><STRONG><a name="[108]"></a>__user_perthread_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
<P><STRONG><a name="[10c]"></a>__user_perthread_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
<P><STRONG><a name="[59]"></a>__user_setup_stackheap</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
@@ -503,8 +503,8 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
</UL>
<P><STRONG><a name="[b8]"></a>BMP_Get</STRONG> (Thumb, 42 bytes, Stack size 0 bytes, modbus.o(i.BMP_Get))
<BR><BR>[Called By]<UL><LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NL_LOGO_Printf
<P><STRONG><a name="[bd]"></a>BMP_Get</STRONG> (Thumb, 42 bytes, Stack size 0 bytes, modbus.o(i.BMP_Get))
<BR><BR>[Called By]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NL_LOGO_Printf
</UL>
<P><STRONG><a name="[68]"></a>BMP_SAVE2False</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, modbus.o(i.BMP_SAVE2False))
@@ -512,7 +512,7 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WriteMoreData
</UL>
<BR>[Called By]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
</UL>
<P><STRONG><a name="[6a]"></a>BackLight_Close</STRONG> (Thumb, 46 bytes, Stack size 8 bytes, 160160d.o(i.BackLight_Close))
@@ -528,7 +528,7 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
</UL>
<BR>[Called By]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Key_ProcessCallback
</UL>
@@ -539,7 +539,7 @@ Global Symbols
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = Calculate_CRC
</UL>
<BR>[Called By]<UL><LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Check_CRC
<LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_RefreshScreenCMD
<LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_RefreshScreenCMD
</UL>
<P><STRONG><a name="[6d]"></a>Check_CRC</STRONG> (Thumb, 48 bytes, Stack size 20 bytes, crc16.o(i.Check_CRC))
@@ -547,7 +547,7 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Calculate_CRC
</UL>
<BR>[Called By]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
</UL>
<P><STRONG><a name="[6f]"></a>ClearScreen</STRONG> (Thumb, 76 bytes, Stack size 16 bytes, 160160d.o(i.ClearScreen))
@@ -557,7 +557,8 @@ Global Symbols
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteCMD
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetAddress
</UL>
<BR>[Called By]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LcdInit
</UL>
<P><STRONG><a name="[1e]"></a>DMA1_Channel6_IRQHandler</STRONG> (Thumb, 10 bytes, Stack size 8 bytes, rs485.o(i.DMA1_Channel6_IRQHandler))
@@ -577,7 +578,7 @@ Global Symbols
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteCMD
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetAddress
</UL>
<BR>[Called By]<UL><LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LOGO_Printf
<BR>[Called By]<UL><LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LOGO_Printf
</UL>
<P><STRONG><a name="[7f]"></a>FLASH_PageErase</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_flash_ex.o(i.FLASH_PageErase))
@@ -621,8 +622,8 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[1e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DMA1_Channel6_IRQHandler
</UL>
<P><STRONG><a name="[bb]"></a>HAL_DMA_Init</STRONG> (Thumb, 132 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Init))
<BR><BR>[Called By]<UL><LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
<P><STRONG><a name="[bf]"></a>HAL_DMA_Init</STRONG> (Thumb, 132 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Init))
<BR><BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
</UL>
<P><STRONG><a name="[7c]"></a>HAL_DMA_Start_IT</STRONG> (Thumb, 156 bytes, Stack size 24 bytes, stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT))
@@ -665,33 +666,36 @@ Global Symbols
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = HAL_GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_MspInit
<LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WDog_Init
<LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Init
<LI><a href="#[cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WDog_Init
<LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
<LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Init
<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Key_Init
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_GPIO_Init
</UL>
<P><STRONG><a name="[cb]"></a>HAL_GPIO_ReadPin</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_ReadPin))
<P><STRONG><a name="[cf]"></a>HAL_GPIO_ReadPin</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_ReadPin))
<BR><BR>[Called By]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;button_read_level
</UL>
<P><STRONG><a name="[b5]"></a>HAL_GPIO_TogglePin</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_TogglePin))
<P><STRONG><a name="[b9]"></a>HAL_GPIO_TogglePin</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_TogglePin))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = HAL_GPIO_TogglePin
</UL>
<BR>[Called By]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Toggle
<BR>[Called By]<UL><LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Toggle
<LI><a href="#[2a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM2_IRQHandler
</UL>
<P><STRONG><a name="[6b]"></a>HAL_GPIO_WritePin</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin))
<BR><BR>[Called By]<UL><LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Init
<BR><BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
<LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LcdInit
<LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Init
<LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BackLight_ON
<LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BackLight_Close
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_Reset
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteData
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteCMD
<LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_On
<LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Off
<LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_SendBuff
<LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_On
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Off
<LI><a href="#[c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_SendBuff
</UL>
<P><STRONG><a name="[76]"></a>HAL_GetTick</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_GetTick))
@@ -702,7 +706,7 @@ Global Symbols
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastOperation
</UL>
<P><STRONG><a name="[c2]"></a>HAL_IncTick</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_IncTick))
<P><STRONG><a name="[c6]"></a>HAL_IncTick</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_IncTick))
<BR><BR>[Called By]<UL><LI><a href="#[d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
</UL>
@@ -732,8 +736,8 @@ Global Symbols
<P><STRONG><a name="[a3]"></a>HAL_NVIC_EnableIRQ</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ))
<BR><BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_MspInit
<LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gtim_timx_int_init
<LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
<LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gtim_timx_int_init
<LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
</UL>
<P><STRONG><a name="[87]"></a>HAL_NVIC_SetPriority</STRONG> (Thumb, 124 bytes, Stack size 40 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority))
@@ -743,8 +747,8 @@ Global Symbols
<LI><a href="#[88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_GetPriorityGrouping
</UL>
<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_MspInit
<LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gtim_timx_int_init
<LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
<LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gtim_timx_int_init
<LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
</UL>
@@ -752,7 +756,7 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
</UL>
<P><STRONG><a name="[d4]"></a>HAL_NVIC_SystemReset</STRONG> (Thumb, 60 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SystemReset))
<P><STRONG><a name="[d8]"></a>HAL_NVIC_SystemReset</STRONG> (Thumb, 60 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SystemReset))
<BR><BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
@@ -763,7 +767,7 @@ Global Symbols
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sys_stm32_clock_init
<BR>[Called By]<UL><LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sys_stm32_clock_init
</UL>
<P><STRONG><a name="[8d]"></a>HAL_RCC_GetHCLKFreq</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq))
@@ -799,7 +803,7 @@ Global Symbols
<BR>[Calls]<UL><LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_Delay
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sys_stm32_clock_init
<BR>[Called By]<UL><LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sys_stm32_clock_init
</UL>
<P><STRONG><a name="[86]"></a>HAL_SYSTICK_Config</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config))
@@ -816,15 +820,15 @@ Global Symbols
<BR>[Calls]<UL><LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_MspInit
<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_Base_SetConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gtim_timx_int_init
<BR>[Called By]<UL><LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gtim_timx_int_init
</UL>
<P><STRONG><a name="[92]"></a>HAL_TIM_Base_MspInit</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_Base_MspInit))
<BR><BR>[Called By]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
</UL>
<P><STRONG><a name="[cf]"></a>HAL_TIM_Base_Start_IT</STRONG> (Thumb, 122 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Start_IT))
<BR><BR>[Called By]<UL><LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gtim_timx_int_init
<P><STRONG><a name="[d3]"></a>HAL_TIM_Base_Start_IT</STRONG> (Thumb, 122 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Start_IT))
<BR><BR>[Called By]<UL><LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gtim_timx_int_init
</UL>
<P><STRONG><a name="[94]"></a>HAL_UARTEx_ReceiveToIdle_DMA</STRONG> (Thumb, 112 bytes, Stack size 24 bytes, stm32f1xx_hal_uart.o(i.HAL_UARTEx_ReceiveToIdle_DMA))
@@ -832,7 +836,7 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_Start_Receive_DMA
</UL>
<BR>[Called By]<UL><LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
<BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
<LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UARTEx_RxEventCallback
</UL>
@@ -875,7 +879,7 @@ Global Symbols
<BR>[Calls]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_MspInit
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_SetConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
<BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
</UL>
<P><STRONG><a name="[a0]"></a>HAL_UART_MspInit</STRONG> (Thumb, 168 bytes, Stack size 32 bytes, usart.o(i.HAL_UART_MspInit))
@@ -905,7 +909,7 @@ Global Symbols
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_DMAReceiveCplt
</UL>
<P><STRONG><a name="[c6]"></a>HAL_UART_RxHalfCpltCallback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback))
<P><STRONG><a name="[ca]"></a>HAL_UART_RxHalfCpltCallback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback))
<BR><BR>[Called By]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_DMARxHalfCplt
</UL>
@@ -915,18 +919,18 @@ Global Symbols
<BR>[Calls]<UL><LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_WaitOnFlagUntilTimeout
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_SendBuff
<BR>[Called By]<UL><LI><a href="#[c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_SendBuff
</UL>
<P><STRONG><a name="[c7]"></a>HAL_UART_TxCpltCallback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback))
<P><STRONG><a name="[cb]"></a>HAL_UART_TxCpltCallback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback))
<BR><BR>[Called By]<UL><LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_EndTransmit_IT
</UL>
<P><STRONG><a name="[6]"></a>HardFault_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.HardFault_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xe.o(RESET)
</UL>
<P><STRONG><a name="[a9]"></a>Key_Init</STRONG> (Thumb, 150 bytes, Stack size 24 bytes, key.o(i.Key_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = Key_Init &rArr; HAL_GPIO_Init
<P><STRONG><a name="[a9]"></a>Key_Init</STRONG> (Thumb, 196 bytes, Stack size 32 bytes, key.o(i.Key_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = Key_Init &rArr; HAL_GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
<LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;button_start
@@ -937,81 +941,118 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[d2]"></a>Key_RegisterCallback</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, key.o(i.Key_RegisterCallback))
<P><STRONG><a name="[d7]"></a>Key_RegisterCallback</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, key.o(i.Key_RegisterCallback))
<BR><BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[ae]"></a>LED_Init</STRONG> (Thumb, 164 bytes, Stack size 24 bytes, led.o(i.LED_Init))
<P><STRONG><a name="[ae]"></a>LCD_GPIO_Init</STRONG> (Thumb, 110 bytes, Stack size 24 bytes, 160160d.o(i.LCD_GPIO_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = LCD_GPIO_Init &rArr; HAL_GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LcdInit
</UL>
<P><STRONG><a name="[af]"></a>LCD_InitXRD</STRONG> (Thumb, 190 bytes, Stack size 8 bytes, 160160d.o(i.LCD_InitXRD))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = LCD_InitXRD &rArr; WriteCMD
</UL>
<BR>[Calls]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteCMD
</UL>
<BR>[Called By]<UL><LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LcdInit
</UL>
<P><STRONG><a name="[b0]"></a>LCD_Reset</STRONG> (Thumb, 66 bytes, Stack size 8 bytes, 160160d.o(i.LCD_Reset))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = LCD_Reset &rArr; delay_ms &rArr; delay_us
</UL>
<BR>[Calls]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_ms
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
</UL>
<BR>[Called By]<UL><LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LcdInit
</UL>
<P><STRONG><a name="[b2]"></a>LED_Init</STRONG> (Thumb, 164 bytes, Stack size 24 bytes, led.o(i.LED_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = LED_Init &rArr; HAL_GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Set
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_GPIO_ClockEnable
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Set
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_GPIO_ClockEnable
</UL>
<BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[b1]"></a>LED_Off</STRONG> (Thumb, 58 bytes, Stack size 16 bytes, led.o(i.LED_Off))
<P><STRONG><a name="[b5]"></a>LED_Off</STRONG> (Thumb, 58 bytes, Stack size 16 bytes, led.o(i.LED_Off))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = LED_Off
</UL>
<BR>[Calls]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
</UL>
<BR>[Called By]<UL><LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Set
<BR>[Called By]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Set
</UL>
<P><STRONG><a name="[b2]"></a>LED_On</STRONG> (Thumb, 58 bytes, Stack size 16 bytes, led.o(i.LED_On))
<P><STRONG><a name="[b6]"></a>LED_On</STRONG> (Thumb, 58 bytes, Stack size 16 bytes, led.o(i.LED_On))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = LED_On
</UL>
<BR>[Calls]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
</UL>
<BR>[Called By]<UL><LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Set
<BR>[Called By]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Set
</UL>
<P><STRONG><a name="[b3]"></a>LED_Printf</STRONG> (Thumb, 76 bytes, Stack size 24 bytes, led.o(i.LED_Printf))
<P><STRONG><a name="[b7]"></a>LED_Printf</STRONG> (Thumb, 76 bytes, Stack size 24 bytes, led.o(i.LED_Printf))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = LED_Printf &rArr; LED_Set &rArr; LED_On
</UL>
<BR>[Calls]<UL><LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Set
<BR>[Calls]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Set
</UL>
<BR>[Called By]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
</UL>
<P><STRONG><a name="[b0]"></a>LED_Set</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, led.o(i.LED_Set))
<P><STRONG><a name="[b4]"></a>LED_Set</STRONG> (Thumb, 26 bytes, Stack size 16 bytes, led.o(i.LED_Set))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = LED_Set &rArr; LED_On
</UL>
<BR>[Calls]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_On
<LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Off
<BR>[Calls]<UL><LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_On
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Off
</UL>
<BR>[Called By]<UL><LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Init
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Printf
<BR>[Called By]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Init
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Printf
</UL>
<P><STRONG><a name="[b4]"></a>LED_Toggle</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, led.o(i.LED_Toggle))
<P><STRONG><a name="[b8]"></a>LED_Toggle</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, led.o(i.LED_Toggle))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = LED_Toggle &rArr; HAL_GPIO_TogglePin
</UL>
<BR>[Calls]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_TogglePin
<BR>[Calls]<UL><LI><a href="#[b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_TogglePin
</UL>
<BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[b6]"></a>LOGO_Printf</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, modbus.o(i.LOGO_Printf))
<P><STRONG><a name="[ba]"></a>LOGO_Printf</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, modbus.o(i.LOGO_Printf))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = LOGO_Printf &rArr; Display_BMP &rArr; SetAddress &rArr; WriteCMD
</UL>
<BR>[Calls]<UL><LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Display_BMP
</UL>
<BR>[Called By]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NL_LOGO_Printf
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NL_LOGO_Printf
</UL>
<P><STRONG><a name="[bb]"></a>LcdInit</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, 160160d.o(i.LcdInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = LcdInit &rArr; LCD_GPIO_Init &rArr; HAL_GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_Reset
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_InitXRD
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_GPIO_Init
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ClearScreen
</UL>
<BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[7]"></a>MemManage_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.MemManage_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xe.o(RESET)
</UL>
<P><STRONG><a name="[b7]"></a>NL_LOGO_Printf</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, modbus.o(i.NL_LOGO_Printf))
<P><STRONG><a name="[bc]"></a>NL_LOGO_Printf</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, modbus.o(i.NL_LOGO_Printf))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = NL_LOGO_Printf &rArr; LOGO_Printf &rArr; Display_BMP &rArr; SetAddress &rArr; WriteCMD
</UL>
<BR>[Calls]<UL><LI><a href="#[b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_ms
<LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LOGO_Printf
<LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BMP_Get
<BR>[Calls]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_ms
<LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LOGO_Printf
<LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BMP_Get
</UL>
<BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
@@ -1022,15 +1063,15 @@ Global Symbols
<P><STRONG><a name="[c]"></a>PendSV_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.PendSV_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xe.o(RESET)
</UL>
<P><STRONG><a name="[c4]"></a>Process_Count</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, modbus.o(i.Process_Count))
<P><STRONG><a name="[c8]"></a>Process_Count</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, modbus.o(i.Process_Count))
<BR><BR>[Called By]<UL><LI><a href="#[2a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM2_IRQHandler
</UL>
<P><STRONG><a name="[d3]"></a>Process_Init</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, modbus.o(i.Process_Init))
<P><STRONG><a name="[d6]"></a>Process_Init</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, modbus.o(i.Process_Init))
<BR><BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[ba]"></a>RS485_DMA_init</STRONG> (Thumb, 342 bytes, Stack size 24 bytes, rs485.o(i.RS485_DMA_init))
<P><STRONG><a name="[be]"></a>RS485_DMA_init</STRONG> (Thumb, 342 bytes, Stack size 24 bytes, rs485.o(i.RS485_DMA_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 116<LI>Call Chain = RS485_DMA_init &rArr; HAL_UARTEx_ReceiveToIdle_DMA &rArr; UART_Start_Receive_DMA &rArr; HAL_DMA_Start_IT &rArr; DMA_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_Init
@@ -1038,75 +1079,75 @@ Global Symbols
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_EnableIRQ
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_DMA_Init
<LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_DMA_Init
<LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UARTEx_ReceiveToIdle_DMA
</UL>
<BR>[Called By]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[bc]"></a>RS485_Process</STRONG> (Thumb, 382 bytes, Stack size 16 bytes, modbus.o(i.RS485_Process))
<P><STRONG><a name="[c0]"></a>RS485_Process</STRONG> (Thumb, 382 bytes, Stack size 16 bytes, modbus.o(i.RS485_Process))
<BR><BR>[Stack]<UL><LI>Max Depth = 168<LI>Call Chain = RS485_Process &rArr; BMP_SAVE2False &rArr; FLASH_WriteMoreData &rArr; HAL_FLASH_Program &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_ms
<LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
<BR>[Calls]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_ms
<LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
<LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BackLight_ON
<LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ScreenPrintf
<LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ScreenPrintf
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ClearScreen
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Printf
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Printf
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
<LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Check_CRC
<LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RefreshScreen
<LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LOGO_Printf
<LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RefreshScreen
<LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LOGO_Printf
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BMP_SAVE2False
</UL>
<BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[c0]"></a>RS485_RefreshScreenCMD</STRONG> (Thumb, 70 bytes, Stack size 32 bytes, modbus.o(i.RS485_RefreshScreenCMD))
<P><STRONG><a name="[c4]"></a>RS485_RefreshScreenCMD</STRONG> (Thumb, 70 bytes, Stack size 32 bytes, modbus.o(i.RS485_RefreshScreenCMD))
<BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = RS485_RefreshScreenCMD &rArr; RS485_SendBuff &rArr; HAL_UART_Transmit &rArr; UART_WaitOnFlagUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Calculate_CRC
<LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_SendBuff
<LI><a href="#[c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_SendBuff
</UL>
<BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RefreshScreen
<BR>[Called By]<UL><LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RefreshScreen
</UL>
<P><STRONG><a name="[c1]"></a>RS485_SendBuff</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, rs485.o(i.RS485_SendBuff))
<P><STRONG><a name="[c5]"></a>RS485_SendBuff</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, rs485.o(i.RS485_SendBuff))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = RS485_SendBuff &rArr; HAL_UART_Transmit &rArr; UART_WaitOnFlagUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_Transmit
</UL>
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_RefreshScreenCMD
<BR>[Called By]<UL><LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_RefreshScreenCMD
</UL>
<P><STRONG><a name="[bf]"></a>RefreshScreen</STRONG> (Thumb, 34 bytes, Stack size 16 bytes, modbus.o(i.RefreshScreen))
<P><STRONG><a name="[c3]"></a>RefreshScreen</STRONG> (Thumb, 34 bytes, Stack size 16 bytes, modbus.o(i.RefreshScreen))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = RefreshScreen &rArr; RS485_RefreshScreenCMD &rArr; RS485_SendBuff &rArr; HAL_UART_Transmit &rArr; UART_WaitOnFlagUntilTimeout
</UL>
<BR>[Calls]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_RefreshScreenCMD
<BR>[Calls]<UL><LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_RefreshScreenCMD
</UL>
<BR>[Called By]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
</UL>
<P><STRONG><a name="[a]"></a>SVC_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.SVC_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xe.o(RESET)
</UL>
<P><STRONG><a name="[be]"></a>ScreenPrintf</STRONG> (Thumb, 148 bytes, Stack size 24 bytes, 160160d.o(i.ScreenPrintf))
<P><STRONG><a name="[c2]"></a>ScreenPrintf</STRONG> (Thumb, 148 bytes, Stack size 24 bytes, 160160d.o(i.ScreenPrintf))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = ScreenPrintf &rArr; SetAddress &rArr; WriteCMD
</UL>
<BR>[Calls]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteData
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteCMD
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetAddress
</UL>
<BR>[Called By]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
</UL>
<P><STRONG><a name="[d]"></a>SysTick_Handler</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, stm32f1xx_it.o(i.SysTick_Handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = SysTick_Handler
</UL>
<BR>[Calls]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_IncTick
<BR>[Calls]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_IncTick
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xe.o(RESET)
</UL>
@@ -1116,9 +1157,9 @@ Global Symbols
<P><STRONG><a name="[2a]"></a>TIM2_IRQHandler</STRONG> (Thumb, 82 bytes, Stack size 8 bytes, main.o(i.TIM2_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = TIM2_IRQHandler &rArr; button_ticks &rArr; button_handler
</UL>
<BR>[Calls]<UL><LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;button_ticks
<LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Process_Count
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_TogglePin
<BR>[Calls]<UL><LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;button_ticks
<LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Process_Count
<LI><a href="#[b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_TogglePin
<LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;BackLight_Close
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xe.o(RESET)
@@ -1160,7 +1201,7 @@ Global Symbols
<P><STRONG><a name="[9]"></a>UsageFault_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.UsageFault_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xe.o(RESET)
</UL>
<P><STRONG><a name="[c8]"></a>WDog_Init</STRONG> (Thumb, 60 bytes, Stack size 24 bytes, wdog.o(i.WDog_Init))
<P><STRONG><a name="[cc]"></a>WDog_Init</STRONG> (Thumb, 60 bytes, Stack size 24 bytes, wdog.o(i.WDog_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = WDog_Init &rArr; HAL_GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
@@ -1179,7 +1220,7 @@ Global Symbols
<P><STRONG><a name="[ab]"></a>button_init</STRONG> (Thumb, 78 bytes, Stack size 24 bytes, multibutton.o(i.button_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = button_init &rArr; __aeabi_memclr4
</UL>
<BR>[Calls]<UL><LI><a href="#[ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<BR>[Calls]<UL><LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Key_Init
</UL>
@@ -1188,71 +1229,73 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Key_Init
</UL>
<P><STRONG><a name="[c3]"></a>button_ticks</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, multibutton.o(i.button_ticks))
<P><STRONG><a name="[c7]"></a>button_ticks</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, multibutton.o(i.button_ticks))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = button_ticks &rArr; button_handler
</UL>
<BR>[Calls]<UL><LI><a href="#[cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;button_handler
<BR>[Calls]<UL><LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;button_handler
</UL>
<BR>[Called By]<UL><LI><a href="#[2a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM2_IRQHandler
</UL>
<P><STRONG><a name="[d1]"></a>delay_init</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, delay.o(i.delay_init))
<P><STRONG><a name="[d5]"></a>delay_init</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, delay.o(i.delay_init))
<BR><BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[b9]"></a>delay_ms</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, delay.o(i.delay_ms))
<P><STRONG><a name="[b1]"></a>delay_ms</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, delay.o(i.delay_ms))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = delay_ms &rArr; delay_us
</UL>
<BR>[Calls]<UL><LI><a href="#[cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us
<BR>[Calls]<UL><LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NL_LOGO_Printf
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NL_LOGO_Printf
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_Reset
</UL>
<P><STRONG><a name="[cd]"></a>delay_us</STRONG> (Thumb, 68 bytes, Stack size 16 bytes, delay.o(i.delay_us))
<P><STRONG><a name="[d1]"></a>delay_us</STRONG> (Thumb, 68 bytes, Stack size 16 bytes, delay.o(i.delay_us))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_ms
<BR>[Called By]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_ms
</UL>
<P><STRONG><a name="[ce]"></a>gtim_timx_int_init</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, gtim.o(i.gtim_timx_int_init))
<P><STRONG><a name="[d2]"></a>gtim_timx_int_init</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, gtim.o(i.gtim_timx_int_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = gtim_timx_int_init &rArr; HAL_NVIC_SetPriority &rArr; __NVIC_SetPriority
</UL>
<BR>[Calls]<UL><LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_EnableIRQ
<LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Start_IT
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Start_IT
<LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[5d]"></a>main</STRONG> (Thumb, 132 bytes, Stack size 0 bytes, main.o(i.main))
<P><STRONG><a name="[5d]"></a>main</STRONG> (Thumb, 136 bytes, Stack size 0 bytes, main.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 168<LI>Call Chain = main &rArr; RS485_Process &rArr; BMP_SAVE2False &rArr; FLASH_WriteMoreData &rArr; HAL_FLASH_Program &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sys_stm32_clock_init
<LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gtim_timx_int_init
<LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_init
<LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WDog_Init
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Process_Init
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NL_LOGO_Printf
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Toggle
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Init
<LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Key_RegisterCallback
<BR>[Calls]<UL><LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sys_stm32_clock_init
<LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gtim_timx_int_init
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_init
<LI><a href="#[cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WDog_Init
<LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_Process
<LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RS485_DMA_init
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Process_Init
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NL_LOGO_Printf
<LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LcdInit
<LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Toggle
<LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Init
<LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Key_RegisterCallback
<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Key_Init
<LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SystemReset
<LI><a href="#[d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SystemReset
<LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
</UL>
<P><STRONG><a name="[d0]"></a>sys_stm32_clock_init</STRONG> (Thumb, 102 bytes, Stack size 72 bytes, sys.o(i.sys_stm32_clock_init))
<P><STRONG><a name="[d4]"></a>sys_stm32_clock_init</STRONG> (Thumb, 102 bytes, Stack size 72 bytes, sys.o(i.sys_stm32_clock_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = sys_stm32_clock_init &rArr; HAL_RCC_ClockConfig &rArr; HAL_InitTick &rArr; HAL_NVIC_SetPriority &rArr; __NVIC_SetPriority
</UL>
<BR>[Calls]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_OscConfig
<LI><a href="#[8a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<LI><a href="#[ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
@@ -1300,7 +1343,7 @@ Local Symbols
<P><STRONG><a name="[51]"></a>UART_DMAError</STRONG> (Thumb, 80 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.UART_DMAError))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = UART_DMAError
</UL>
<BR>[Calls]<UL><LI><a href="#[c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_EndTxTransfer
<BR>[Calls]<UL><LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_EndTxTransfer
<LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_EndRxTransfer
<LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_ErrorCallback
</UL>
@@ -1317,7 +1360,7 @@ Local Symbols
<P><STRONG><a name="[50]"></a>UART_DMARxHalfCplt</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt))
<BR><BR>[Stack]<UL><LI>Max Depth = 124<LI>Call Chain = UART_DMARxHalfCplt &rArr; HAL_UARTEx_RxEventCallback &rArr; HAL_UARTEx_ReceiveToIdle_DMA &rArr; UART_Start_Receive_DMA &rArr; HAL_DMA_Start_IT &rArr; DMA_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_RxHalfCpltCallback
<BR>[Calls]<UL><LI><a href="#[ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_RxHalfCpltCallback
<LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UARTEx_RxEventCallback
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA)
@@ -1331,12 +1374,12 @@ Local Symbols
<P><STRONG><a name="[9e]"></a>UART_EndTransmit_IT</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(i.UART_EndTransmit_IT))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = UART_EndTransmit_IT
</UL>
<BR>[Calls]<UL><LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_TxCpltCallback
<BR>[Calls]<UL><LI><a href="#[cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_TxCpltCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_IRQHandler
</UL>
<P><STRONG><a name="[c5]"></a>UART_EndTxTransfer</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.UART_EndTxTransfer))
<P><STRONG><a name="[c9]"></a>UART_EndTxTransfer</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(i.UART_EndTxTransfer))
<BR><BR>[Called By]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_DMAError
</UL>
@@ -1383,10 +1426,10 @@ Local Symbols
<BR><BR>[Called By]<UL><LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_FLASHEx_Erase
</UL>
<P><STRONG><a name="[af]"></a>LED_GPIO_ClockEnable</STRONG> (Thumb, 270 bytes, Stack size 8 bytes, led.o(i.LED_GPIO_ClockEnable))
<P><STRONG><a name="[b3]"></a>LED_GPIO_ClockEnable</STRONG> (Thumb, 270 bytes, Stack size 8 bytes, led.o(i.LED_GPIO_ClockEnable))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = LED_GPIO_ClockEnable
</UL>
<BR>[Called By]<UL><LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Init
<BR>[Called By]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LED_Init
</UL>
<P><STRONG><a name="[aa]"></a>KEY_GPIO_ClockEnable</STRONG> (Thumb, 270 bytes, Stack size 8 bytes, key.o(i.KEY_GPIO_ClockEnable))
@@ -1403,7 +1446,7 @@ Local Symbols
<P><STRONG><a name="[4d]"></a>button_read_level</STRONG> (Thumb, 34 bytes, Stack size 16 bytes, key.o(i.button_read_level))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = button_read_level
</UL>
<BR>[Calls]<UL><LI><a href="#[cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
<BR>[Calls]<UL><LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_ReadPin
</UL>
<BR>[Address Reference Count : 1]<UL><LI> key.o(i.Key_Init)
</UL>
@@ -1412,12 +1455,12 @@ Local Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteCMD
</UL>
<BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ScreenPrintf
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ScreenPrintf
<LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Display_BMP
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ClearScreen
</UL>
<P><STRONG><a name="[c9]"></a>UC1698U_Write</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, 160160d.o(i.UC1698U_Write))
<P><STRONG><a name="[cd]"></a>UC1698U_Write</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, 160160d.o(i.UC1698U_Write))
<BR><BR>[Called By]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteData
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteCMD
</UL>
@@ -1426,9 +1469,10 @@ Local Symbols
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = WriteCMD
</UL>
<BR>[Calls]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UC1698U_Write
<LI><a href="#[cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UC1698U_Write
</UL>
<BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ScreenPrintf
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ScreenPrintf
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_InitXRD
<LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Display_BMP
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ClearScreen
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetAddress
@@ -1438,17 +1482,17 @@ Local Symbols
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = WriteData
</UL>
<BR>[Calls]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UC1698U_Write
<LI><a href="#[cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UC1698U_Write
</UL>
<BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ScreenPrintf
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ScreenPrintf
<LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Display_BMP
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ClearScreen
</UL>
<P><STRONG><a name="[cc]"></a>button_handler</STRONG> (Thumb, 624 bytes, Stack size 16 bytes, multibutton.o(i.button_handler))
<P><STRONG><a name="[d0]"></a>button_handler</STRONG> (Thumb, 624 bytes, Stack size 16 bytes, multibutton.o(i.button_handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = button_handler
</UL>
<BR>[Called By]<UL><LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;button_ticks
<BR>[Called By]<UL><LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;button_ticks
</UL>
<P>
<H3>

View File

@@ -30,7 +30,7 @@
"..\..\output\multibutton.o"
"..\..\output\modbus.o"
"..\..\output\crc16.o"
--strict --scatter "..\..\Output\atk_f103.sct"
--strict --scatter "..\..\Output\DTU.sct"
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers
--list "..\..\Output\atk_f103.map" -o ..\..\Output\atk_f103.axf
--list "..\..\Output\DTU.map" -o ..\..\Output\DTU.axf

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1,60 +0,0 @@
..\..\output\bmp.o: ..\..\Drivers\BSP\162160D\BMP.C
..\..\output\bmp.o: ..\..\Drivers\./SYSTEM/sys/sys.h
..\..\output\bmp.o: ..\..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h
..\..\output\bmp.o: ..\..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h
..\..\output\bmp.o: ..\..\Drivers\CMSIS\Include\core_cm3.h
..\..\output\bmp.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
..\..\output\bmp.o: ..\..\Drivers\CMSIS\Include\cmsis_version.h
..\..\output\bmp.o: ..\..\Drivers\CMSIS\Include\cmsis_compiler.h
..\..\output\bmp.o: ..\..\Drivers\CMSIS\Include\cmsis_armcc.h
..\..\output\bmp.o: ..\..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h
..\..\output\bmp.o: ..\..\Users\stm32f1xx_hal_conf.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h
..\..\output\bmp.o: ..\..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy/stm32_hal_legacy.h
..\..\output\bmp.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_exti.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_eth.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_can.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cec.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_adc.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_adc_ex.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_crc.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dac.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dac_ex.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_sram.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_fsmc.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_nor.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_i2c.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_i2s.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pccard.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_sd.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_sdmmc.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_nand.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_spi.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_usart.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_irda.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_smartcard.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_wwdg.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pcd.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_usb.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pcd_ex.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_hcd.h
..\..\output\bmp.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_mmc.h

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -61,3 +61,5 @@
..\..\output\key.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_mmc.h
..\..\output\key.o: ..\..\Drivers\BSP\KEY\MultiButton.h
..\..\output\key.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h
..\..\output\key.o: ..\..\Drivers\BSP\160160D\160160D.h
..\..\output\key.o: ..\..\Drivers\./SYSTEM/delay/delay.h

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,2 +0,0 @@
..\..\output\protectionfixedvaluemenu.o: ..\..\Users\ProtectionFixedValueMenu.c
..\..\output\protectionfixedvaluemenu.o: ..\..\Users\ProtectionFixedValueMenu.h

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,62 +0,0 @@
..\..\output\spi.o: ..\..\Drivers\BSP\SPI\spi.c
..\..\output\spi.o: ..\..\Drivers\BSP\SPI\spi.h
..\..\output\spi.o: ..\..\Drivers\./SYSTEM/sys/sys.h
..\..\output\spi.o: ..\..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h
..\..\output\spi.o: ..\..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h
..\..\output\spi.o: ..\..\Drivers\CMSIS\Include\core_cm3.h
..\..\output\spi.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
..\..\output\spi.o: ..\..\Drivers\CMSIS\Include\cmsis_version.h
..\..\output\spi.o: ..\..\Drivers\CMSIS\Include\cmsis_compiler.h
..\..\output\spi.o: ..\..\Drivers\CMSIS\Include\cmsis_armcc.h
..\..\output\spi.o: ..\..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h
..\..\output\spi.o: ..\..\Users\stm32f1xx_hal_conf.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h
..\..\output\spi.o: ..\..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy/stm32_hal_legacy.h
..\..\output\spi.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_exti.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_eth.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_can.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cec.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_adc.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_adc_ex.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_crc.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dac.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dac_ex.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_sram.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_fsmc.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_nor.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_i2c.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_i2s.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pccard.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_sd.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_sdmmc.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_nand.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_spi.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_usart.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_irda.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_smartcard.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_wwdg.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pcd.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_ll_usb.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pcd_ex.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_hcd.h
..\..\output\spi.o: ..\..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_mmc.h
..\..\output\spi.o: ..\..\Drivers\./SYSTEM/delay/delay.h

Binary file not shown.

View File

@@ -558,11 +558,11 @@ ARM Macro Assembler Page 9
00000000
Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
ork --depend=..\..\output\startup_stm32f103xe.d -o..\..\output\startup_stm32f10
3xe.o -IC:\Users\Administrator\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1
\Device\Include --predefine="__UVISION_VERSION SETA 536" --predefine="STM32F10X
_HD SETA 1" --list=..\..\output\startup_stm32f103xe.lst D:\阜阳师范大学\竞赛\培
训资料\模板程序\LED\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\arm\star
tup_stm32f103xe.s
3xe.o -IC:\Users\16241\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\
Include --predefine="__UVISION_VERSION SETA 536" --predefine="STM32F10X_HD SETA
1" --list=..\..\output\startup_stm32f103xe.lst D:\¸·Ñôʦ·¶´óѧ\¾ºÈü\Åàѵ×ÊÁÏ\Ä
£°å³ÌÐò\LED\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\arm\startup_stm3
2f103xe.s

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,36 +0,0 @@
// File: STM32F101_102_103_105_107.dbgconf
// Version: 1.0.0
// Note: refer to STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx Reference manual (RM0008)
// STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx datasheets
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Debug MCU configuration register (DBGMCU_CR)
// <i> Reserved bits must be kept at reset value
// <o.30> DBG_TIM11_STOP <i> TIM11 counter stopped when core is halted
// <o.29> DBG_TIM10_STOP <i> TIM10 counter stopped when core is halted
// <o.28> DBG_TIM9_STOP <i> TIM9 counter stopped when core is halted
// <o.27> DBG_TIM14_STOP <i> TIM14 counter stopped when core is halted
// <o.26> DBG_TIM13_STOP <i> TIM13 counter stopped when core is halted
// <o.25> DBG_TIM12_STOP <i> TIM12 counter stopped when core is halted
// <o.21> DBG_CAN2_STOP <i> Debug CAN2 stopped when core is halted
// <o.20> DBG_TIM7_STOP <i> TIM7 counter stopped when core is halted
// <o.19> DBG_TIM6_STOP <i> TIM6 counter stopped when core is halted
// <o.18> DBG_TIM5_STOP <i> TIM5 counter stopped when core is halted
// <o.17> DBG_TIM8_STOP <i> TIM8 counter stopped when core is halted
// <o.16> DBG_I2C2_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
// <o.15> DBG_I2C1_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
// <o.14> DBG_CAN1_STOP <i> Debug CAN1 stopped when Core is halted
// <o.13> DBG_TIM4_STOP <i> TIM4 counter stopped when core is halted
// <o.12> DBG_TIM3_STOP <i> TIM3 counter stopped when core is halted
// <o.11> DBG_TIM2_STOP <i> TIM2 counter stopped when core is halted
// <o.10> DBG_TIM1_STOP <i> TIM1 counter stopped when core is halted
// <o.9> DBG_WWDG_STOP <i> Debug window watchdog stopped when core is halted
// <o.8> DBG_IWDG_STOP <i> Debug independent watchdog stopped when core is halted
// <o.2> DBG_STANDBY <i> Debug standby mode
// <o.1> DBG_STOP <i> Debug stop mode
// <o.0> DBG_SLEEP <i> Debug sleep mode
// </h>
DbgMCU_CR = 0x00000007;
// <<< end of configuration section >>>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -125,7 +125,7 @@
<SetRegEntry>
<Number>0</Number>
<Key>ST-LINKIII-KEIL_SWO</Key>
<Name>-U12029401190032524B413836 -O206 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("") -D00(00000000) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM)</Name>
<Name>-U12029401190032524B413836 -O206 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
@@ -192,7 +192,7 @@
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
<DebugDescription>
<Enable>1</Enable>
<Enable>0</Enable>
<EnableFlashSeq>0</EnableFlashSeq>
<EnableLog>0</EnableLog>
<Protocol>2</Protocol>
@@ -519,7 +519,7 @@
<Group>
<GroupName>Drivers/BSP</GroupName>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
@@ -611,7 +611,7 @@
<Group>
<GroupName>Middlewares</GroupName>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>

View File

@@ -16,8 +16,8 @@
<TargetCommonOption>
<Device>STM32F103ZE</Device>
<Vendor>STMicroelectronics</Vendor>
<PackID>Keil.STM32F1xx_DFP.2.4.1</PackID>
<PackURL>https://www.keil.com/pack/</PackURL>
<PackID>Keil.STM32F1xx_DFP.2.3.0</PackID>
<PackURL>http://www.keil.com/pack/</PackURL>
<Cpu>IRAM(0x20000000,0x00010000) IROM(0x08000000,0x00080000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
<FlashUtilSpec></FlashUtilSpec>
<StartupFile></StartupFile>
@@ -49,7 +49,7 @@
<InvalidFlash>1</InvalidFlash>
</TargetStatus>
<OutputDirectory>..\..\Output\</OutputDirectory>
<OutputName>atk_f103</OutputName>
<OutputName>DTU</OutputName>
<CreateExecutable>1</CreateExecutable>
<CreateLib>0</CreateLib>
<CreateHexFile>1</CreateHexFile>

File diff suppressed because it is too large Load Diff

View File

@@ -24,6 +24,7 @@ static uint8_t ConnectFlg = 0;
*/
static void Key_ProcessCallback(KEY_TYPE key_type)
{
// IntValue_Printf(2, 32, key_type, RESET);
BackLight_ON(); /* 任意按键按下,都打开背光 */
keyStatus = key_type; /* 更新按键状态 */
}
@@ -38,12 +39,12 @@ int main(void)
Key_Init(); /* 初始化按键驱动 */
WDog_Init(); /* 看门狗初始化 */
RS485_DMA_init(); /* Rs485初始化 */
LcdInit();
Process_Init(); /* 通信任务初始化 */
NL_LOGO_Printf(); /* 显示存储的LOGO */
gtim_timx_int_init(50-1, 7200-1); /* 定时5毫秒 */
// 注册按键业务逻辑回调函数
Key_RegisterCallback(Key_ProcessCallback); /* 注册按键回调函数 */
NL_LOGO_Printf(); /* 显示存储的LOGO */
Process_Init(); /* 通信任务初始化 */
while(1)
{
if(ConnectFlg == 1)