@@ -63,6 +63,16 @@ extern uint32_t g_last_freq; // 上一次计算的频率,用于PLSR_Calculate_ | |||
#define PLSR_PWM_PIN GPIO_PIN_6 // PF6 - TIM10_CH1 | |||
#define PLSR_PWM_PORT GPIOF | |||
// 默认参数定义 | |||
#define PLSR_DEFAULT_STEP_FREQ_US 1000 // 默认TIM6更新频率1000微秒(1ms) | |||
#define PLSR_DEFAULT_ACCEL_TIME_MS 100 // 默认加速时间100ms | |||
#define PLSR_DEFAULT_DECEL_TIME_MS 100 // 默认减速时间100ms | |||
#define PLSR_DEFAULT_ACT_TIME_MS 200 // 默认ACT时间200ms | |||
#define PLSR_DEFAULT_WAIT_TIME_MS 200 // 默认等待时间200ms | |||
#define PLSR_DEFAULT_START_SECTION 0 // 默认起始段编号 | |||
#define PLSR_TASK_CHECK_INTERVAL 100 // 每100个脉冲通知任务一次 | |||
// TIM2硬件计数器已删除 - 改用TIM10中断计数 | |||
// 等待条件类型枚举 | |||
@@ -171,22 +181,19 @@ typedef struct { | |||
// 运行状态参数 | |||
PLSR_RunState_t run_state; // 当前运行状态 | |||
// 三部分脉冲计数(重新定义用途) | |||
// 三部分脉冲计数 | |||
int32_t accel_pulse_count; // 第一部分脉冲数(可能是加速、减速或匀速) | |||
int32_t const_pulse_count; // 第二部分脉冲数(匀速) | |||
int32_t decel_pulse_count; // 第三部分脉冲数(减速到0) | |||
// 新增:三部分状态标识 | |||
PLSR_RunState_t part1_state; // 第一部分状态(ACCEL/DECEL/CONST) | |||
PLSR_RunState_t part2_state; // 第二部分状态(通常是CONST) | |||
PLSR_RunState_t part3_state; // 第三部分状态(通常是DECEL) | |||
// 新增:三部分目标频率 | |||
uint32_t part1_target_freq; // 第一部分目标频率 | |||
uint32_t part2_target_freq; // 第二部分目标频率(匀速频率) | |||
uint32_t part3_target_freq; // 第三部分目标频率(通常是0) | |||
// 新增:当前执行部分 | |||
uint8_t current_part; // 当前执行部分:1-第一部分,2-第二部分,3-第三部分 | |||
uint32_t freq_step; // 频率步长 | |||
@@ -207,21 +214,12 @@ typedef struct { | |||
// 三部分执行状态枚举 | |||
typedef enum { | |||
PLSR_PART_1 = 1, // 执行第一部分 | |||
PLSR_PART_2 = 2, // 执行第二部分 | |||
PLSR_PART_3 = 3, // 执行第三部分 | |||
PLSR_PART_1 = 1, ///< 执行第一部分 | |||
PLSR_PART_2 = 2, ///< 执行第二部分 | |||
PLSR_PART_3 = 3, ///< 执行第三部分 | |||
PLSR_PART_COMPLETE = 4 // 三部分全部完成 | |||
} PLSR_PartState_t; | |||
// 默认参数定义 | |||
#define PLSR_DEFAULT_STEP_FREQ_US 1000 // 默认TIM6更新频率1000微秒(1ms) | |||
#define PLSR_DEFAULT_ACCEL_TIME_MS 100 // 默认加速时间100ms | |||
#define PLSR_DEFAULT_DECEL_TIME_MS 100 // 默认减速时间100ms | |||
#define PLSR_DEFAULT_ACT_TIME_MS 200 // 默认ACT时间200ms | |||
#define PLSR_DEFAULT_WAIT_TIME_MS 200 // 默认等待时间200ms | |||
#define PLSR_DEFAULT_START_SECTION 0 // 默认起始段编号 | |||
#define PLSR_TASK_CHECK_INTERVAL 100 // 每100个脉冲通知任务一次 | |||
// 基础PWM函数 | |||
// ==================== PWM控制函数 ==================== | |||
void PLSR_PWM_Init(void); | |||
@@ -230,7 +228,6 @@ void PLSR_PWM_Stop(void); | |||
void PLSR_PWM_SetFrequency(uint32_t frequency); | |||
// ==================== PLSR路径控制函数 ==================== | |||
void PLSR_Route_Init(PLSR_RouteConfig_t* route); //<路径初始化 | |||
void PLSR_Route_Set(PLSR_RouteConfig_t* route); //<用户修改完参数后需要调用一次该函数,进行数据更新 | |||
void PLSR_Route_Start(PLSR_RouteConfig_t* route); //<路径开始 | |||
void PLSR_Route_Stop(PLSR_RouteConfig_t* route); //<路径停止 | |||
@@ -246,8 +243,8 @@ void PLSR_SetupThreePartExecution(PLSR_RouteConfig_t* route); //<设置三部分 | |||
// ==================== PLSR加减速算法函数 ==================== | |||
void PLSR_Accel_Process(PLSR_RouteConfig_t* route); //<加减速执行函数(新的直线加减速) | |||
void PLSR_Accel_UpdateRates(PLSR_RouteConfig_t* route); //<更新加减速度 | |||
void PLSR_Accel_SetDefaultParams(PLSR_RouteConfig_t* route, uint32_t accel_time_ms, uint32_t decel_time_ms); //<设置默认加减速参数 | |||
uint32_t PLSR_Calculate_FreqByPosition(PLSR_RouteConfig_t* route, uint8_t is_accel); //<根据当前脉冲位置计算频率 | |||
uint32_t PLSR_Calculate_FreqByPosition_Sine(PLSR_RouteConfig_t* route, uint8_t is_accel); //<正弦加减速频率计算 | |||
uint32_t integer_sqrt_64(uint64_t x); //<64位整数开平方函数 | |||
// ==================== PLSR等待条件处理函数 ==================== | |||
@@ -69,6 +69,50 @@ void SystemClock_Config(void); | |||
/* Private user code ---------------------------------------------------------*/ | |||
/* USER CODE BEGIN 0 */ | |||
/** | |||
* @brief System Clock Configuration | |||
* @retval None | |||
*/ | |||
void SystemClock_Config(void) | |||
{ | |||
RCC_OscInitTypeDef RCC_OscInitStruct = {0}; | |||
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; | |||
/** Configure the main internal regulator output voltage | |||
*/ | |||
__HAL_RCC_PWR_CLK_ENABLE(); | |||
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); | |||
/** Initializes the RCC Oscillators according to the specified parameters | |||
* in the RCC_OscInitTypeDef structure. | |||
*/ | |||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; | |||
RCC_OscInitStruct.HSEState = RCC_HSE_ON; | |||
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; | |||
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; | |||
RCC_OscInitStruct.PLL.PLLM = 6; | |||
RCC_OscInitStruct.PLL.PLLN = 168; | |||
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; | |||
RCC_OscInitStruct.PLL.PLLQ = 4; | |||
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) | |||
{ | |||
Error_Handler(); | |||
} | |||
/** Initializes the CPU, AHB and APB buses clocks | |||
*/ | |||
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK | |||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; | |||
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; | |||
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; | |||
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; | |||
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; | |||
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK) | |||
{ | |||
Error_Handler(); | |||
} | |||
} | |||
/* USER CODE END 0 */ | |||
@@ -119,67 +163,16 @@ int main(void) | |||
(void *)0, | |||
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR); | |||
if (err != OS_ERR_NONE) { | |||
/* 任务创建失败处理 */ | |||
if (err != OS_ERR_NONE) | |||
{ | |||
while(1); | |||
} | |||
// /* 启动uC/OS-II */ | |||
OSStart(); | |||
/* USER CODE END 2 */ | |||
/* Infinite loop */ | |||
/* USER CODE BEGIN WHILE */ | |||
while (1) | |||
{ | |||
/* USER CODE END WHILE */ | |||
/* USER CODE BEGIN 3 */ | |||
} | |||
/* USER CODE END 3 */ | |||
} | |||
/** | |||
* @brief System Clock Configuration | |||
* @retval None | |||
*/ | |||
void SystemClock_Config(void) | |||
{ | |||
RCC_OscInitTypeDef RCC_OscInitStruct = {0}; | |||
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; | |||
/** Configure the main internal regulator output voltage | |||
*/ | |||
__HAL_RCC_PWR_CLK_ENABLE(); | |||
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); | |||
/** Initializes the RCC Oscillators according to the specified parameters | |||
* in the RCC_OscInitTypeDef structure. | |||
*/ | |||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; | |||
RCC_OscInitStruct.HSEState = RCC_HSE_ON; | |||
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; | |||
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; | |||
RCC_OscInitStruct.PLL.PLLM = 6; | |||
RCC_OscInitStruct.PLL.PLLN = 168; | |||
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; | |||
RCC_OscInitStruct.PLL.PLLQ = 4; | |||
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) | |||
{ | |||
Error_Handler(); | |||
} | |||
/** Initializes the CPU, AHB and APB buses clocks | |||
*/ | |||
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK | |||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; | |||
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; | |||
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; | |||
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; | |||
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; | |||
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK) | |||
{ | |||
Error_Handler(); | |||
} | |||
} | |||
/* USER CODE BEGIN 4 */ | |||
@@ -253,8 +246,6 @@ static void MODBUSTask(void *p_arg) | |||
Modbus_Process(); | |||
OSTimeDlyHMSM(0, 0, 0, 1); /* 延时10ms */ | |||
} | |||
} | |||
static void KeyTask(void *p_arg) | |||
{ | |||
@@ -263,7 +254,6 @@ static void KeyTask(void *p_arg) | |||
OSTimeDly(2000); //<等待硬件完全初始化. | |||
uint8_t startflag = 0; | |||
// 初始化PLSR路径配置 | |||
PLSR_Route_Init(&g_plsr_route); | |||
// PLSR_Route_Start(&g_plsr_route); | |||
while (1) | |||
{ | |||
@@ -276,7 +266,6 @@ static void KeyTask(void *p_arg) | |||
{ | |||
if(startflag == 1) | |||
{ | |||
PLSR_Route_Init(&g_plsr_route); | |||
PLSR_Route_Start(&g_plsr_route); | |||
startflag = 0; | |||
} | |||
@@ -288,8 +277,6 @@ static void KeyTask(void *p_arg) | |||
/* USER CODE END 4 */ | |||
// HAL_TIM_PeriodElapsedCallback函数已移至timer.c文件中统一管理 | |||
/** | |||
* @brief This function is executed in case of error occurrence. | |||
* @retval None | |||
@@ -64,14 +64,12 @@ void PLSR_Wait_StartTimer(PLSR_RouteConfig_t* route) | |||
s_wait_time_target = wait_cond->wait_time_ms; | |||
s_wait_time_counter = 0; | |||
s_wait_time_flag = 0; | |||
//PLSR_TIM6_Start(); | |||
break; | |||
case PLSR_WAIT_ACT_TIME: | |||
s_act_time_target = wait_cond->act_time_ms; | |||
s_act_time_counter = 0; | |||
s_act_time_flag = 0; | |||
//PLSR_TIM6_Start(); | |||
break; | |||
case PLSR_WAIT_CONDITION: | |||
@@ -756,105 +754,21 @@ static void PLSR_CalculateTimerParams(uint32_t frequency, uint16_t* prescaler, u | |||
if (frequency < PLSR_PWM_FREQ_MIN) frequency = PLSR_PWM_FREQ_MIN; | |||
if (frequency > PLSR_PWM_FREQ_MAX) frequency = PLSR_PWM_FREQ_MAX; | |||
uint32_t psc; | |||
uint32_t arr; | |||
uint32_t f = frequency; | |||
const uint32_t timer_clock = 168000000UL; // 定时器时钟 | |||
uint32_t divider = (timer_clock + frequency / 2) / frequency; // 四舍五入 | |||
// PLSR_Calc_TimerParams((uint32_t)(f_hz + 0.5f), &psc, &arr); | |||
uint32_t timer_clock = 168000000; | |||
psc = 1; | |||
while (timer_clock / (psc + 1) / f > 65535) { | |||
psc++; | |||
if (psc > 0XFFFF) psc = 0XFFFF; | |||
} | |||
arr = (timer_clock / (psc + 1)) / f - 1; | |||
if (arr < 2) arr = 2; | |||
*prescaler = psc; | |||
*period = arr; | |||
if (divider < 2) divider = 2; // 至少 2 | |||
// // STM32F4系列定时器时钟频率(APB1定时器通常为84MHz,APB2定时器为168MHz) | |||
// // 这里使用168MHz,适用于APB2上的高速定时器(如TIM1、TIM8等) | |||
// uint32_t timer_clock = 168000000; | |||
// // 定时器频率计算原理: | |||
// // 输出频率 = 定时器时钟频率 / ((预分频器 + 1) * (自动重装载值 + 1)) | |||
// // 因此:(预分频器 + 1) * (自动重装载值 + 1) = 定时器时钟频率 / 目标频率 | |||
// // 频率为0时的异常处理 | |||
// if (frequency == 0) { | |||
// *prescaler = 65535; // 最大预分频器 | |||
// *period = 65535; // 最大周期,输出最低频率 | |||
// return; | |||
// } | |||
// // 频率过高时的处理(超过定时器时钟频率) | |||
// if (frequency > timer_clock) { | |||
// *prescaler = 0; // 最小预分频器 | |||
// *period = 0; // 最小周期,输出最高频率 | |||
// return; | |||
// } | |||
// // 计算总的计数值:定时器时钟频率除以目标频率 | |||
// uint64_t total_count = (uint64_t)timer_clock / frequency; | |||
// // 如果总计数值超出范围,直接设置为最低频率 | |||
// if (total_count > (uint64_t)65536 * 65536) { | |||
// *prescaler = 65535; | |||
// *period = 65535; | |||
// return; | |||
// } | |||
// // 优化搜索策略:寻找最佳的预分频器和自动重装载值组合 | |||
// // 目标:找到误差最小且分辨率最高的组合 | |||
// uint32_t best_prescaler = 65535; | |||
// uint32_t best_period = 65535; | |||
// uint32_t min_error = UINT32_MAX; | |||
// // 计算合理的搜索范围,避免无效遍历 | |||
// uint32_t max_psc = (total_count > 65535) ? 65535 : (uint32_t)total_count; | |||
// uint32_t min_psc = (total_count + 65535) / 65536; // 确保ARR不超过65535 | |||
// if (min_psc == 0) min_psc = 1; | |||
// // 遍历预分频器值,寻找最佳组合 | |||
// for (uint32_t psc = min_psc; psc <= max_psc; psc++) { | |||
// // 计算对应的自动重装载值(四舍五入) | |||
// uint32_t arr = (uint32_t)((total_count + psc/2) / psc); | |||
// // 检查自动重装载值是否在有效范围内 | |||
// if (arr >= 1 && arr <= 65536) { | |||
// // 计算实际输出频率和误差 | |||
// uint32_t actual_total = psc * arr; | |||
// uint32_t actual_freq = timer_clock / actual_total; | |||
// uint32_t error = (actual_freq > frequency) ? | |||
// (actual_freq - frequency) : (frequency - actual_freq); | |||
// // 选择误差最小的组合,误差相同时选择分辨率更高的(ARR更大) | |||
// if (error < min_error || (error == min_error && arr > best_period + 1)) { | |||
// min_error = error; | |||
// best_prescaler = psc - 1; // 转换为寄存器值 | |||
// best_period = arr - 1; // 转换为寄存器值 | |||
// // 如果找到精确匹配,直接返回 | |||
// if (error == 0) { | |||
// *prescaler = best_prescaler; | |||
// *period = best_period; | |||
// return; | |||
// } | |||
// } | |||
// } | |||
// } | |||
// // 返回找到的最佳组合 | |||
// *prescaler = best_prescaler; | |||
// *period = best_period; | |||
// // 如果没有找到合理的组合,使用默认的1kHz配置 | |||
// if (min_error == UINT32_MAX) { | |||
// // 预分频器 = 167 (实际分频168),自动重装载 = 999 (实际计数1000) | |||
// // 输出频率 = 168MHz / (168 * 1000) = 1kHz | |||
// *prescaler = 167; // 168MHz / 168 = 1MHz | |||
// *period = 999; // 1MHz / 1000 = 1kHz | |||
// } | |||
// 限制 ARR <= 65535 | |||
uint32_t psc = (divider + 65535) / 65536; // 向上取整 | |||
if (psc > 0xFFFF) psc = 0xFFFF; | |||
uint32_t arr = (divider / psc) - 1; | |||
if (arr < 1) arr = 1; | |||
if (arr > 65535) arr = 65535; | |||
*prescaler = (uint16_t)(psc - 1); | |||
*period = arr; | |||
} | |||
@@ -1231,7 +1145,6 @@ void Calculate_PluseNum(PLSR_RouteConfig_t *route) | |||
int32_t part2_pulse_num = 0; // 第二部分脉冲数 | |||
int32_t part3_pulse_num = 0; // 第三部分脉冲数 | |||
uint32_t part1_time = 0; // 第一部分时间(ms) | |||
uint32_t part2_time = 0; // 第二部分时间(ms) | |||
uint32_t part3_time = 0; // 第三部分时间(ms) | |||
// 参数有效性检查 | |||
@@ -1248,7 +1161,6 @@ void Calculate_PluseNum(PLSR_RouteConfig_t *route) | |||
{ | |||
uint32_t v0 = route->current_freq; // 起始频率 | |||
uint32_t vt = current_section->target_freq; // 期望目标频率 | |||
uint32_t vf = 0; // 最终频率(必须为0) | |||
uint32_t a = route->accel_rate; // 加速度 | |||
uint32_t d = route->decel_rate; // 减速度 | |||
@@ -1262,7 +1174,7 @@ void Calculate_PluseNum(PLSR_RouteConfig_t *route) | |||
// 三部分运动规划: | |||
// 第一部分:从v0到vt(加速或减速或保持) | |||
// 第二部分:在vt保持匀速 | |||
// 第三部分:从vt减速到0 | |||
// 第三部分:从vt减速到route->end_freq | |||
// 计算第一部分:v0 -> vt | |||
PLSR_RunState_t part1_state = PLSR_STATE_CONST; // 默认匀速 | |||
@@ -1320,12 +1232,7 @@ void Calculate_PluseNum(PLSR_RouteConfig_t *route) | |||
if (used_pulses < total_pulses) { | |||
// 有剩余脉冲用于匀速阶段 | |||
part2_pulse_num = total_pulses - used_pulses; | |||
// 计算匀速时间 | |||
if (vt > 0) { | |||
part2_time = (part2_pulse_num * 1000) / vt; | |||
} | |||
part2_pulse_num = total_pulses - used_pulses; | |||
} | |||
else if (used_pulses > total_pulses) { | |||
// 脉冲数不足,需要调整运动参数 | |||
@@ -1431,15 +1338,13 @@ void Calculate_PluseNum(PLSR_RouteConfig_t *route) | |||
else { | |||
part2_pulse_num = 0; | |||
} | |||
// 保存三个部分的状态和脉冲计数到结构体 | |||
// 使用现有的字段来存储三个部分的信息 | |||
// 第一部分 | |||
if (part1_state == PLSR_STATE_ACCEL) { | |||
if (part1_state == PLSR_STATE_ACCEL) | |||
{ | |||
route->accel_pulse_count = part1_pulse_num; | |||
} else { | |||
} | |||
else | |||
{ | |||
route->accel_pulse_count = (part1_state == PLSR_STATE_DECEL) ? part1_pulse_num : 0; | |||
} | |||
@@ -1449,14 +1354,7 @@ void Calculate_PluseNum(PLSR_RouteConfig_t *route) | |||
// 第三部分(减速到0) | |||
route->decel_pulse_count = part3_pulse_num; | |||
// uint8_t d_count = 0; | |||
// if(route->accel_pulse_count > 0) d_count++; | |||
// if(route->decel_pulse_count > 0) d_count++; | |||
// if(route->const_pulse_count > 0) d_count++; | |||
// if(route->const_pulse_count >= 3 ) | |||
// route->const_pulse_count -= d_count; | |||
// else | |||
if(route->accel_pulse_count > 1) | |||
route->accel_pulse_count -= 1; | |||
route->part1_state = part1_state; // 保存第一部分状态 | |||
@@ -1699,57 +1597,42 @@ void PLSR_Route_Set(PLSR_RouteConfig_t* route) | |||
} | |||
} | |||
void PLSR_Route_Init(PLSR_RouteConfig_t* route) | |||
/** | |||
* @brief 启动PLSR路径执行 | |||
* @param route 路径控制结构体指针 | |||
* @note 如果起始频率为0,PWM不会启动,适用于等待外部触发的场景 | |||
*/ | |||
void PLSR_Route_Start(PLSR_RouteConfig_t* route) | |||
{ | |||
// 参数有效性检查 | |||
if (route == NULL) return; | |||
// 状态检查 - 避免重复启动 | |||
if (route->route_state == PLSR_ROUTE_RUNNING) | |||
return; | |||
// 初始化路径基本参数 | |||
route->route_state = PLSR_ROUTE_IDLE; // 路径状态:空闲 | |||
route->current_freq = 0; // 当前频率:0Hz | |||
route->target_freq = 0; // 目标频率:0Hz | |||
route->initial_freq = 0; // 加减速初始频率:0Hz | |||
route->direction = PLSR_DIR_FORWARD; // 运行方向:默认正向 | |||
// 初始化新增的加减速参数 | |||
route->default_freq = 1000; // 默认频率:1000Hz | |||
route->default_accel_time_ms = 1000; // 默认加速时间:1000ms | |||
route->default_decel_time_ms = 1000; // 默认减速时间:1000ms | |||
// 计算默认加减速度 | |||
PLSR_Accel_UpdateRates(route); | |||
// 初始化运行状态参数 - 清零所有运行时状态 | |||
route->run_state = PLSR_STATE_IDLE; // 运行状态:空闲 | |||
route->const_pulse_count = 0; // 匀速脉冲计数:清零 | |||
route->freq_step = 0; // 频率步进值:清零 | |||
route->wait_start_tick = 0; // 等待开始时刻:清零 | |||
route->act_start_tick = 0; // ACT开始时刻:清零 | |||
// 初始化模式相关参数 | |||
route->prevPulseCount = 0; // 累积脉冲计数:清零 | |||
route->pulse_count = 0; // 当前脉冲计数:清零 | |||
// 初始化全局变量 | |||
g_last_freq = 0; // 清零上一次计算的频率 | |||
PLSR_TIM6_SetUpdateFreq(50); //初始化TIM6更新频率为1000us(1ms) | |||
PLSR_PWM_Stop(); // 确保PWM停止,避免意外输出 | |||
} | |||
/** | |||
* @brief 启动PLSR路径执行 | |||
* @param route 路径控制结构体指针 | |||
* @note 如果起始频率为0,PWM不会启动,适用于等待外部触发的场景 | |||
*/ | |||
void PLSR_Route_Start(PLSR_RouteConfig_t* route) | |||
{ | |||
// 参数有效性检查 | |||
if (route == NULL) return; | |||
// 状态检查 - 避免重复启动 | |||
if (route->route_state == PLSR_ROUTE_RUNNING) | |||
return; | |||
// 重置全局脉冲计数器 | |||
AllPluse = 0; | |||
// 重置上次记录的总脉冲数,用于实时累加计算 | |||
s_last_total_pulse = g_plsr_route.pulse_count; | |||
// 启动时初始化用户可配置参数 | |||
PLSR_Route_Set(route); | |||
@@ -1760,19 +1643,17 @@ void PLSR_Route_Start(PLSR_RouteConfig_t* route) | |||
route->current_freq = route->start_freq; // 设置当前频率为起始频率 | |||
route->initial_freq = route->start_freq; // 设置加减速初始频率为起始频率 | |||
route->run_state = PLSR_STATE_IDLE; // 设置运行状态为空闲 | |||
// 重置全局脉冲计数器 | |||
AllPluse = 0; | |||
// 重置上次记录的总脉冲数,用于实时累加计算 | |||
s_last_total_pulse = g_plsr_route.pulse_count; | |||
// 启动第一段 | |||
PLSR_Section_StartNewSection(route); | |||
// 启动定时器 | |||
// 计算默认加减速度 | |||
PLSR_Accel_UpdateRates(route); | |||
PLSR_TIM6_SetUpdateFreq(50); | |||
PLSR_TIM6_Start(); // 启动TIM6用于频率更新和等待时间计时 | |||
HAL_TIM_Base_Start_IT(&htim2); // 启动TIM2中断用于段切换 | |||
PLSR_PWM_Stop(); | |||
// 启动第一段 | |||
PLSR_Section_StartNewSection(route); | |||
switch (route->output_port) | |||
{ | |||
case 0 : | |||
@@ -1860,7 +1741,7 @@ static uint8_t PLSR_SetDirectionPin(PLSR_RouteConfig_t* route, PLSR_SectionConfi | |||
} | |||
// 检测方向是否发生变化 | |||
uint8_t direction_changed = (s_last_direction != 0xFF && s_last_direction != is_forward); | |||
uint8_t direction_changed = (s_last_direction != is_forward); //TODO: 使用s_last_direction来检测方向变化,做了修改,第一次启动也有方向延时 | |||
// 更新上一段的方向信息 | |||
s_last_direction = is_forward; | |||
@@ -2163,10 +2044,6 @@ void PLSR_SetupThreePartExecution(PLSR_RouteConfig_t* route) | |||
break; | |||
} | |||
} | |||
// 所有部分完成或无效状态 | |||
__HAL_TIM_SetAutoreload(&htim2, 1); // 设置最小值 | |||
route->run_state = PLSR_STATE_CONST; | |||
} | |||
/** | |||
@@ -2231,7 +2108,6 @@ void PLSR_Section_SwitchNext(PLSR_RouteConfig_t* route, uint8_t is_pulse_complet | |||
// 脉冲完成触发:更新为上一段的目标频率 | |||
route->current_freq = current_section->target_freq; | |||
} | |||
// 外部事件触发时保持当前频率不变,确保频率连续性 | |||
} | |||
@@ -2260,17 +2136,8 @@ uint32_t PLSR_Calculate_FreqByPosition(PLSR_RouteConfig_t* route, uint8_t is_acc | |||
uint32_t executed_pulses = 0; | |||
uint32_t next_executed_pulses = 0; | |||
// 计算当前部分已经执行的脉冲数 | |||
if(is_accel) | |||
{ | |||
executed_pulses = current_tim2_count; | |||
next_executed_pulses = current_tim2_count + 1; | |||
} | |||
else | |||
{ | |||
// 减速过程:使用全局脉冲计数器 | |||
executed_pulses = current_tim2_count; | |||
next_executed_pulses = executed_pulses + 1; | |||
} | |||
executed_pulses = current_tim2_count; | |||
next_executed_pulses = current_tim2_count + 1; | |||
// 检查是否需要重新计算:脉冲步数、加减速状态或段号发生变化时才重新计算 | |||
if (executed_pulses == s_last_executed_pulses && | |||
@@ -2367,6 +2234,172 @@ uint32_t PLSR_Calculate_FreqByPosition(PLSR_RouteConfig_t* route, uint8_t is_acc | |||
return calculated_freq; | |||
} | |||
// 正弦函数近似计算(输入0-90度,输出0-1000表示0-1.0) | |||
static uint32_t sine_lookup_table[91] = { | |||
0, 17, 35, 52, 70, 87, 105, 122, 139, 156, // 0-9度 | |||
174, 191, 208, 225, 242, 259, 276, 292, 309, 326, // 10-19度 | |||
342, 358, 375, 391, 407, 423, 438, 454, 469, 485, // 20-29度 | |||
500, 515, 530, 545, 559, 574, 588, 602, 616, 629, // 30-39度 | |||
643, 656, 669, 682, 695, 707, 719, 731, 743, 755, // 40-49度 | |||
766, 777, 788, 799, 809, 819, 829, 839, 848, 857, // 50-59度 | |||
866, 875, 883, 891, 899, 906, 914, 921, 928, 934, // 60-69度 | |||
940, 946, 951, 956, 961, 966, 970, 974, 978, 982, // 70-79度 | |||
985, 988, 990, 993, 995, 996, 998, 999, 999, 1000, 1000 // 80-90度 | |||
}; | |||
static uint32_t fast_sine(uint32_t angle_deg) | |||
{ | |||
if (angle_deg > 90) angle_deg = 90; | |||
return sine_lookup_table[angle_deg]; | |||
} | |||
uint32_t PLSR_Calculate_FreqByPosition_Sine(PLSR_RouteConfig_t* route, uint8_t is_accel) | |||
{ | |||
if (route == NULL) return 0; | |||
// 静态变量用于缓存上次计算的结果,避免重复计算 | |||
static uint32_t s_last_executed_pulses = 0xFFFFFFFF; // 初始化为无效值 | |||
static uint32_t s_last_calculated_freq = 0; | |||
static uint8_t s_last_is_accel = 0xFF; // 初始化为无效值 | |||
static uint8_t s_last_section_num = 0xFF; // 初始化为无效值 | |||
// 获取当前段配置 | |||
PLSR_SectionConfig_t* current_section = &route->section[route->current_section_num - 1]; | |||
// 获取当前脉冲位置 | |||
uint32_t current_tim2_count = __HAL_TIM_GET_COUNTER(&htim2); | |||
uint32_t executed_pulses = 0; | |||
uint32_t next_executed_pulses = 0; | |||
// 计算当前部分已经执行的脉冲数 | |||
if(is_accel) | |||
{ | |||
executed_pulses = current_tim2_count; | |||
next_executed_pulses = current_tim2_count + 1; | |||
} | |||
else | |||
{ | |||
// 减速过程:使用全局脉冲计数器 | |||
executed_pulses = current_tim2_count; | |||
next_executed_pulses = executed_pulses + 1; | |||
} | |||
// 检查是否需要重新计算:脉冲步数、加减速状态或段号发生变化时才重新计算 | |||
if (executed_pulses == s_last_executed_pulses && | |||
is_accel == s_last_is_accel && | |||
route->current_section_num == s_last_section_num) | |||
{ | |||
// 脉冲步数、状态和段号都没有变化,直接返回上次计算的结果 | |||
return s_last_calculated_freq; | |||
} | |||
// 获取正弦加减速参数 | |||
uint32_t v0 = route->initial_freq; // 初始频率 | |||
uint32_t v_max = route->target_freq; // 最大频率(需要在RouteConfig中添加此字段) | |||
uint32_t total_pulses = 0; // 加减速段的总脉冲数 | |||
if (is_accel) | |||
{ | |||
total_pulses = route->accel_pulse_count; // 加速段脉冲数(需要在RouteConfig中添加此字段) | |||
} | |||
else | |||
{ | |||
total_pulses = route->decel_pulse_count; // 减速段脉冲数(需要在RouteConfig中添加此字段) | |||
} | |||
// 防止除零错误 | |||
if (total_pulses == 0) | |||
{ | |||
return v0; | |||
} | |||
// 计算当前脉冲开始时的频率和结束时的频率 | |||
uint32_t freq_start = 0; // 当前脉冲开始时的频率 | |||
uint32_t freq_end = 0; // 当前脉冲结束时的频率 | |||
// 计算当前脉冲开始时的频率(executed_pulses位置) | |||
if (executed_pulses == 0) | |||
{ | |||
freq_start = v0; // 第一个脉冲开始时就是初始频率 | |||
} | |||
else | |||
{ | |||
if (is_accel) | |||
{ | |||
// 加速:使用正弦函数 v = v0 + (v_max - v0) * sin(π/2 * position / total_pulses) | |||
uint32_t angle_deg = (executed_pulses * 90) / total_pulses; // 将位置映射到0-90度 | |||
if (angle_deg > 90) angle_deg = 90; | |||
uint32_t sine_value = fast_sine(angle_deg); // 0-1000 | |||
freq_start = v0 + ((uint64_t)(v_max - v0) * sine_value) / 1000; | |||
} | |||
else | |||
{ | |||
// 减速:使用余弦函数 v = v0 + (v_max - v0) * cos(π/2 * position / total_pulses) | |||
uint32_t angle_deg = (executed_pulses * 90) / total_pulses; // 将位置映射到0-90度 | |||
if (angle_deg > 90) angle_deg = 90; | |||
// cos(θ) = sin(90° - θ) | |||
uint32_t cos_angle = 90 - angle_deg; | |||
uint32_t cosine_value = fast_sine(cos_angle); // 0-1000 | |||
freq_start = v0 + ((uint64_t)(v_max - v0) * cosine_value) / 1000; | |||
} | |||
} | |||
// 计算当前脉冲结束时的频率(next_executed_pulses位置) | |||
if (next_executed_pulses >= total_pulses) | |||
{ | |||
// 超出加减速段范围,频率为最大频率或初始频率 | |||
freq_end = is_accel ? v_max : v0; | |||
} | |||
else | |||
{ | |||
if (is_accel) | |||
{ | |||
// 加速:使用正弦函数 | |||
uint32_t angle_deg = (next_executed_pulses * 90) / total_pulses; | |||
if (angle_deg > 90) angle_deg = 90; | |||
uint32_t sine_value = fast_sine(angle_deg); | |||
freq_end = v0 + ((uint64_t)(v_max - v0) * sine_value) / 1000; | |||
} | |||
else | |||
{ | |||
// 减速:使用余弦函数 | |||
uint32_t angle_deg = (next_executed_pulses * 90) / total_pulses; | |||
if (angle_deg > 90) angle_deg = 90; | |||
uint32_t cos_angle = 90 - angle_deg; | |||
uint32_t cosine_value = fast_sine(cos_angle); | |||
freq_end = v0 + ((uint64_t)(v_max - v0) * cosine_value) / 1000; | |||
} | |||
} | |||
// 计算当前脉冲的平均频率 | |||
uint32_t calculated_freq = (freq_start + freq_end) / 2; | |||
// 更新全局变量(保存当前脉冲结束时的频率,供下次使用) | |||
g_last_freq = freq_end; | |||
// 限制频率范围 | |||
if (calculated_freq < PLSR_PWM_FREQ_MIN) | |||
{ | |||
calculated_freq = PLSR_PWM_FREQ_MIN; | |||
} | |||
else if (calculated_freq > PLSR_PWM_FREQ_MAX) | |||
{ | |||
calculated_freq = PLSR_PWM_FREQ_MAX; | |||
} | |||
// 缓存本次计算结果,供下次比较使用 | |||
s_last_executed_pulses = executed_pulses; | |||
s_last_calculated_freq = calculated_freq; | |||
s_last_is_accel = is_accel; | |||
s_last_section_num = route->current_section_num; | |||
return calculated_freq; | |||
} | |||
/** | |||
* @brief 加减速处理函数 | |||
* @param route: 路径控制结构体指针 | |||
@@ -2411,16 +2444,30 @@ void PLSR_Accel_Process(PLSR_RouteConfig_t* route) | |||
// ==================== 加速处理 ==================== | |||
if (route->run_state == PLSR_STATE_ACCEL) | |||
{ | |||
// 根据当前脉冲位置计算频率(传入1表示加速过程) | |||
uint32_t calculated_freq = PLSR_Calculate_FreqByPosition(route, 1); | |||
uint32_t calculated_freq = 0; | |||
switch (route->accel_config.accel_algorithm) | |||
{ | |||
case PLSR_ACCEL_LINEAR: | |||
// 根据当前脉冲位置计算频率(传入1表示加速过程) | |||
calculated_freq = PLSR_Calculate_FreqByPosition(route, 1); | |||
break; | |||
case PLSR_ACCEL_SINE: | |||
// 使用正弦加速算法 | |||
calculated_freq = PLSR_Calculate_FreqByPosition_Sine(route, 1); | |||
break; | |||
default: | |||
break; | |||
} | |||
// 检查是否达到目标频率 | |||
if (calculated_freq >= route->target_freq) { | |||
if (calculated_freq >= route->target_freq) | |||
{ | |||
calculated_freq = route->target_freq; // 限制到目标频率 | |||
} | |||
// 只有当计算出的频率与当前频率不同时才更新 | |||
if (calculated_freq != route->current_freq) { | |||
if (calculated_freq != route->current_freq) | |||
{ | |||
route->current_freq = calculated_freq; | |||
PLSR_PWM_SetFrequency(route->current_freq); | |||
} | |||
@@ -2439,7 +2486,8 @@ void PLSR_Accel_Process(PLSR_RouteConfig_t* route) | |||
uint32_t calculated_freq = PLSR_Calculate_FreqByPosition(route, 0); | |||
// 检查是否达到目标频率 | |||
if (calculated_freq <= route->target_freq) { | |||
if (calculated_freq <= route->target_freq) | |||
{ | |||
calculated_freq = route->target_freq; // 限制到目标频率 | |||
// 如果目标频率为0,说明减速到停止 | |||
@@ -2496,26 +2544,6 @@ void PLSR_Accel_UpdateRates(PLSR_RouteConfig_t* route) | |||
} | |||
} | |||
/** | |||
* @brief 设置默认加减速参数 | |||
* @param route: 路径控制结构体指针 | |||
* @param accel_time_ms: 加速时间(毫秒) | |||
* @param decel_time_ms: 减速时间(毫秒) | |||
* @retval None | |||
* @note 设置默认加减速时间并自动计算加减速度 | |||
*/ | |||
void PLSR_Accel_SetDefaultParams(PLSR_RouteConfig_t* route, uint32_t accel_time_ms, uint32_t decel_time_ms) | |||
{ | |||
if (route == NULL) return; | |||
// 设置加减速时间 | |||
route->default_accel_time_ms = accel_time_ms; | |||
route->default_decel_time_ms = decel_time_ms; | |||
// 自动更新加减速度 | |||
PLSR_Accel_UpdateRates(route); | |||
} | |||
/** | |||
* @brief 任务中执行段切换逻辑 | |||
@@ -2538,9 +2566,6 @@ void PLSR_TaskSectionSwitch(PLSR_RouteConfig_t* route) | |||
PLSR_Section_SwitchNext(route, 0); // 外部事件触发,传入0 | |||
/* 启动新段,设置新的脉冲参数和频率 */ | |||
PLSR_Section_StartNewSection(route); | |||
// /* 启动PWM输出 */ | |||
// PLSR_PWM_Start(); | |||
PLSR_ClearGpioTriggerFlag(); // 清除GPIO触发标志 | |||
} | |||
return; // 等待外部事件时不需要继续处理 | |||
} | |||
@@ -2568,8 +2593,6 @@ void PLSR_TaskSectionSwitch(PLSR_RouteConfig_t* route) | |||
PLSR_Section_SwitchNext(route, 1); // 脉冲完成触发,传入1 | |||
/* 启动新段,设置新的脉冲参数和频率 */ | |||
PLSR_Section_StartNewSection(route); | |||
// /* 启动PWM输出 */ | |||
// PLSR_PWM_Start(); | |||
} | |||
} | |||
else | |||
@@ -2581,8 +2604,6 @@ void PLSR_TaskSectionSwitch(PLSR_RouteConfig_t* route) | |||
PLSR_Section_SwitchNext(route, 0); // 其他等待条件触发,传入0 | |||
/* 启动新段,设置新的脉冲参数和频率 */ | |||
PLSR_Section_StartNewSection(route); | |||
// /* 启动PWM输出 */ | |||
// PLSR_PWM_Start(); | |||
} | |||
/* 如果等待条件未满足,保持等待状态,等待下次检查 */ | |||
} | |||
@@ -2603,7 +2624,7 @@ uint8_t PLSR_Section_CheckPulseComplete(PLSR_RouteConfig_t* route) | |||
// 根据等待条件类型检查 | |||
if (current_section->wait_condition.wait_type == PLSR_WAIT_PLUSEEND || | |||
current_section->wait_condition.wait_type == PLSR_WAIT_EXT_OR_END) | |||
{ | |||
{ | |||
int32_t target_pulse = current_section->actual_pulse; | |||
if(target_pulse < 0) target_pulse = -target_pulse; | |||
target_pulse += route->prevPulseCount; // 累加上次的脉冲计数 | |||
@@ -2699,6 +2720,8 @@ void PLSR_ClearExtEvent(PLSR_RouteConfig_t* route) | |||
// 清除外部事件标志 | |||
wait_cond->ext_event_flag = 0; | |||
// /* 启动PWM输出 */ | |||
PLSR_ClearGpioTriggerFlag(); // 清除GPIO触发标志 | |||
} | |||
// ==================== PLSR实时段切换任务实现 ==================== | |||
@@ -2751,11 +2774,13 @@ void PLSR_SectionSwitchTask(void *p_arg) | |||
(void)p_arg; // 避免编译器警告 | |||
while (1) { | |||
while (1) | |||
{ | |||
/* 等待段切换信号量 */ | |||
OSSemPend(s_section_switch_sem, 0, &err); | |||
if (err == OS_ERR_NONE) { | |||
if (err == OS_ERR_NONE) | |||
{ | |||
/* 信号量获取成功,执行段切换逻辑 */ | |||
PLSR_TaskSectionSwitch(&g_plsr_route); | |||
} | |||
@@ -1041,7 +1041,7 @@ | |||
<item>s_last_total_pulse</item> | |||
<item>current_pulse_count</item> | |||
<item>g_plsr_total_pulse_count</item> | |||
<item></item> | |||
<item /> | |||
</expressions> | |||
<col-names> | |||
<item>Expression</item> | |||
@@ -14,10 +14,10 @@ | |||
<StLinkDriver> | |||
<stlinkserialNo>46232557</stlinkserialNo> | |||
<stlinkfoundProbes /> | |||
<CStepIntDis>_ 0</CStepIntDis> | |||
<LeaveTargetRunning>_ 0</LeaveTargetRunning> | |||
<stlinkResetStyle>0</stlinkResetStyle> | |||
<stlinkResetStrategy>2</stlinkResetStrategy> | |||
<CStepIntDis>_ 0</CStepIntDis> | |||
<LeaveTargetRunning>_ 0</LeaveTargetRunning> | |||
</StLinkDriver> | |||
<DebugChecksum> | |||
<Checksum>3785312791</Checksum> | |||
@@ -84,13 +84,6 @@ | |||
<LogFile>_ ""</LogFile> | |||
<Category>_ 0</Category> | |||
</LogFile> | |||
<DisassembleMode> | |||
<mode>0</mode> | |||
</DisassembleMode> | |||
<Aliases> | |||
<Count>0</Count> | |||
<SuppressDialog>0</SuppressDialog> | |||
</Aliases> | |||
<Trace2> | |||
<Enabled>0</Enabled> | |||
<ShowSource>0</ShowSource> | |||
@@ -136,9 +129,6 @@ | |||
<ShowTimeSum>1</ShowTimeSum> | |||
<SumSortOrder>0</SumSortOrder> | |||
</EventLog> | |||
<Breakpoints2> | |||
<Count>0</Count> | |||
</Breakpoints2> | |||
<DriverProfiling> | |||
<Enabled>0</Enabled> | |||
<Mode>3</Mode> | |||
@@ -152,4 +142,14 @@ | |||
<CallStackStripe> | |||
<ShowTiming>1</ShowTiming> | |||
</CallStackStripe> | |||
<DisassembleMode> | |||
<mode>0</mode> | |||
</DisassembleMode> | |||
<Breakpoints2> | |||
<Count>0</Count> | |||
</Breakpoints2> | |||
<Aliases> | |||
<Count>0</Count> | |||
<SuppressDialog>0</SuppressDialog> | |||
</Aliases> | |||
</settings> |
@@ -1,143 +1,63 @@ | |||
# ninja log v5 | |||
464 505 7768536870781453 stm32f4xx_ll_rng.pbi 5e12b9ea00d0b826 | |||
67 129 7768536866814718 stm32f4xx_ll_gpio.pbi df8b54563945d41d | |||
32 67 7768536866465887 stm32f4xx_ll_tim.pbi b88554c6464192f5 | |||
159 513 7768536870801418 stm32f4xx_hal_flash_ex.pbi ac2d035774fe6a2e | |||
931 1257 7768536878369160 stm32f4xx_hal_pwr.pbi b347497fce55b6a8 | |||
115 147 7768536867273193 stm32f4xx_ll_pwr.pbi 952cb4e4f4edb65b | |||
166 215 7768536867811386 test.1_part7.pbi 67c64030b23c9b51 | |||
1543 2106 7768536886832096 test.1_part3.pbi 2c7780fc3f88c160 | |||
1210 1542 7768536881070146 stm32f4xx_hal_rcc_ex.pbi c1d751d24d77a2df | |||
42 122 7768536866824682 app_hooks.pbi ffd399489d189d5a | |||
1652 2177 7768536887509800 test.1_part4.pbi b15d70d6e2dea5ca | |||
513 867 7768536874350914 stm32f4xx_hal_pwr_ex.pbi b84426bf5a4ce0cf | |||
45 114 7768536866864582 os_cpu_c.pbi eb75b848b406ea34 | |||
578 950 7768536875260101 stm32f4xx_hal_rcc.pbi 50976e6b18f3b8bc | |||
942 1346 7768536879266167 stm32f4xx_hal_tim.pbi 71840baae88d57c4 | |||
871 1213 7768536877692971 stm32f4xx_hal_usart.pbi b368fafd8b8b8bb9 | |||
3553 5121 7768536916697101 test.1.pbw f11e09b552b4c82f | |||
175 253 7775491955598164 stm32f4xx_ll_rng.pbi 5e12b9ea00d0b826 | |||
1025 1056 7775491964090997 stm32f4xx_ll_gpio.pbi df8b54563945d41d | |||
254 617 7775491959696056 stm32f4xx_hal_flash_ex.pbi ac2d035774fe6a2e | |||
1088 1455 7775491967911042 stm32f4xx_hal_pwr.pbi b347497fce55b6a8 | |||
736 803 7775491961177804 stm32f4xx_ll_pwr.pbi 952cb4e4f4edb65b | |||
49 80 7775491954328170 stm32f4xx_ll_tim.pbi b88554c6464192f5 | |||
181 256 7775491955718160 test.1_part7.pbi 67c64030b23c9b51 | |||
1456 2021 7775491973610751 test.1_part3.pbi 2c7780fc3f88c160 | |||
492 958 7775491962735135 stm32f4xx_hal_rcc_ex.pbi c1d751d24d77a2df | |||
111 174 7775491955278161 app_hooks.pbi ffd399489d189d5a | |||
499 671 7775491960222592 os_cpu_c.pbi eb75b848b406ea34 | |||
955 1322 7775491966570992 stm32f4xx_hal_pwr_ex.pbi b84426bf5a4ce0cf | |||
1558 2072 7775491974160761 test.1_part4.pbi b15d70d6e2dea5ca | |||
51 494 7775491957888175 stm32f4xx_hal_rcc.pbi 50976e6b18f3b8bc | |||
1192 1557 7775491968840991 stm32f4xx_hal_usart.pbi b368fafd8b8b8bb9 | |||
618 1045 7775491963970993 stm32f4xx_hal_tim.pbi 71840baae88d57c4 | |||
706 735 7775491960887804 stm32f4xx_ll_dac.pbi 7dfc4be0933cdfaf | |||
2014 2487 7762488664073707 uart.pbi 5ce52444157923c9 | |||
215 253 7768536868329652 stm32f4xx_ll_dac.pbi 7dfc4be0933cdfaf | |||
1214 1246 7768536878269490 stm32f4xx_ll_crc.pbi dcf41d4b97590765 | |||
126 159 7768536867392785 stm32f4xx_ll_rcc.pbi fb9ace481decf8ab | |||
1669 1999 7768536885705853 stm32f4xx_hal_msp.pbi 8144db72f01a260b | |||
498 546 7768536871140260 stm32f4xx_ll_spi.pbi ce805017b70a4f43 | |||
48 118 7768536866944314 os_dbg.pbi f7287a072fe86a55 | |||
36 71 7768536866495790 stm32f4xx_ll_usart.pbi 783190689e783d9 | |||
147 509 7768536870671821 stm32f4xx_hal_crc.pbi 881b29e4c80746b3 | |||
888 930 7768536875008719 stm32f4xx_ll_dma.pbi f9e6142ede2883b4 | |||
1247 1281 7768536878608362 stm32f4xx_ll_exti.pbi 883a2fd463949e02 | |||
1282 1297 7768536878777835 test.1_part5.pbi 41f12be61ce67c27 | |||
39 166 7768536867462563 ucos_ii.pbi 4e0ab25e0060431e | |||
2355 2700 7768536892214098 stm32f4xx_hal.pbi a073c739b6b34173 | |||
71 125 7768536866854589 stm32f4xx_ll_i2c.pbi 7f1151d8874c40c9 | |||
868 1209 7768536877633167 stm32f4xx_hal_sram.pbi 4652c5af4efd4e19 | |||
592 942 7768536875198075 stm32f4xx_hal_flash.pbi eccf13860e1d0c6a | |||
546 578 7768536871578800 test.1_part6.pbi b9d684e502f25afa | |||
119 502 7768536870612013 stm32f4xx_hal_tim_ex.pbi 3c68a2e86514987f | |||
1205 1538 7768536881149867 stm32f4xx_hal_flash_ramfunc.pbi ae498685b336a49c | |||
950 1261 7768536878369160 stm32f4xx_hal_wwdg.pbi fca2b44f67349f99 | |||
1257 1652 7768536881967123 stm32f4xx_hal_uart.pbi e7ca7ebbb4330340 | |||
3959 5601 7775492009203922 test.1.pbw f11e09b552b4c82f | |||
703 863 7775491961953988 stm32f4xx_ll_crc.pbi dcf41d4b97590765 | |||
497 535 7775491958768163 stm32f4xx_ll_rcc.pbi fb9ace481decf8ab | |||
48 77 7775491954308167 stm32f4xx_ll_spi.pbi ce805017b70a4f43 | |||
1322 1656 7775491969944367 stm32f4xx_hal_msp.pbi 8144db72f01a260b | |||
54 84 7775491954368170 stm32f4xx_ll_usart.pbi 783190689e783d9 | |||
41 111 7775491954588180 os_dbg.pbi f7287a072fe86a55 | |||
1221 1251 7775491966040988 stm32f4xx_ll_dma.pbi f9e6142ede2883b4 | |||
1656 2023 7775491973360747 stm32f4xx_hal_crc.pbi 881b29e4c80746b3 | |||
958 1024 7775491963470994 stm32f4xx_ll_exti.pbi 883a2fd463949e02 | |||
46 181 7775491955338158 ucos_ii.pbi 4e0ab25e0060431e | |||
1251 1262 7775491966160991 test.1_part5.pbi 41f12be61ce67c27 | |||
1045 1087 7775491964300993 stm32f4xx_ll_i2c.pbi 7f1151d8874c40c9 | |||
1907 2210 7775491975630751 stm32f4xx_hal.pbi a073c739b6b34173 | |||
84 498 7775491958198156 stm32f4xx_hal_sram.pbi 4652c5af4efd4e19 | |||
672 703 7775491960495378 test.1_part6.pbi b9d684e502f25afa | |||
1057 1450 7775491967580991 stm32f4xx_hal_flash.pbi eccf13860e1d0c6a | |||
536 1021 7775491963550990 stm32f4xx_hal_tim_ex.pbi 3c68a2e86514987f | |||
78 496 7775491958128176 stm32f4xx_hal_wwdg.pbi fca2b44f67349f99 | |||
80 492 7775491958048235 stm32f4xx_hal_flash_ramfunc.pbi ae498685b336a49c | |||
804 1191 7775491965350989 stm32f4xx_hal_uart.pbi e7ca7ebbb4330340 | |||
35 454 7762489045860992 timer.pbi 8f8acc6a162957f | |||
122 464 7768536870422653 stm32f4xx_hal_i2c.pbi 74395538aa12fa10 | |||
864 1205 7768536877762736 stm32f4xx_hal_dma.pbi 2d6aa8f3983bf80a | |||
2024 2359 7768536889393504 stm32f4xx_hal_timebase_tim.pbi b6f5ce0feaca8054 | |||
505 887 7768536874450598 stm32f4xx_hal_dma_ex.pbi 1960c5ab56ffede7 | |||
509 871 7768536874185622 stm32f4xx_hal_i2c_ex.pbi 7798e48f8e6ef374 | |||
253 592 7768536871708352 stm32f4xx_hal_exti.pbi 373789209d565f00 | |||
1644 2023 7768536885964976 main.pbi 9c0a6aa02351636a | |||
1995 2354 7768536889343681 stm32f4xx_it.pbi d01766022cb163bc | |||
130 498 7768536870532288 stm32f4xx_hal_cortex.pbi 2c6d2473a153fb5a | |||
2110 2461 7768536890190832 system_stm32f4xx.pbi f50e519d7e78a5de | |||
1999 2335 7768536889004806 gpio.pbi a088b5271f02118a | |||
3209 3553 7768536901332297 test.1.pbd 363d5d355a216cdf | |||
2336 2882 7768536894499702 test.1_part0.pbi 60db414ccd7a80f4 | |||
502 863 7768536874420683 stm32f4xx_hal_gpio.pbi 53b438f48be9a8d0 | |||
2700 3209 7768536897898329 test.1_part1.pbi 72148e63fe682e2f | |||
1539 2110 7768536886772270 test.1_part2.pbi 932c7a5b50912170 | |||
1347 1669 7768536882345866 dma.pbi 4f5ebe00ac67ed57 | |||
2177 2581 7768536891416765 tim.pbi f07c6d790a519d93 | |||
2106 2492 7768536890439999 usart.pbi 7c2d93866867ab60 | |||
1297 1647 7768536882196362 modbus_log.pbi 596603da5f343c45 | |||
1648 1995 7768536885436731 modbus_crc.pbi 9b76681ddf289794 | |||
1261 1644 7768536881937241 flash_save.pbi dc7405226be28cc6 | |||
32 380 7768544283889545 tim.pbi f07c6d790a519d93 | |||
381 904 7768544289141477 test.1_part1.pbi 72148e63fe682e2f | |||
905 1273 7768544292826533 test.1.pbd 363d5d355a216cdf | |||
1273 2905 7768544308773033 test.1.pbw f11e09b552b4c82f | |||
36 414 7768544355956471 tim.pbi f07c6d790a519d93 | |||
415 955 7768544361556770 test.1_part1.pbi 72148e63fe682e2f | |||
955 1326 7768544365284012 test.1.pbd 363d5d355a216cdf | |||
1327 3036 7768544381928778 test.1.pbw f11e09b552b4c82f | |||
53 512 7774757765418465 modbus_crc.pbi 9b76681ddf289794 | |||
58 653 7774757766821431 stm32f4xx_hal_dma.pbi 2d6aa8f3983bf80a | |||
61 660 7774757766861293 stm32f4xx_hal_flash.pbi eccf13860e1d0c6a | |||
64 681 7774757767105566 stm32f4xx_hal_msp.pbi 8144db72f01a260b | |||
55 793 7774757768209498 usart.pbi 7c2d93866867ab60 | |||
50 796 7774757767932786 gpio.pbi a088b5271f02118a | |||
513 976 7774757769998117 dma.pbi 4f5ebe00ac67ed57 | |||
654 1103 7774757771261951 stm32f4xx_hal_flash_ex.pbi ac2d035774fe6a2e | |||
662 1117 7774757771471254 stm32f4xx_hal_gpio.pbi 53b438f48be9a8d0 | |||
682 1255 7774757772829950 stm32f4xx_hal_i2c.pbi 74395538aa12fa10 | |||
797 1266 7774757772959510 stm32f4xx_hal_exti.pbi 373789209d565f00 | |||
794 1334 7774757773637248 modbus_log.pbi 596603da5f343c45 | |||
977 1595 7774757775528721 stm32f4xx_hal_timebase_tim.pbi b6f5ce0feaca8054 | |||
1103 1598 7774757775668265 stm32f4xx_hal_cortex.pbi 2c6d2473a153fb5a | |||
1256 1728 7774757777505243 stm32f4xx_hal_dma_ex.pbi 1960c5ab56ffede7 | |||
1118 1731 7774757777348937 main.pbi 9c0a6aa02351636a | |||
1267 1776 7774757778071154 stm32f4xx_hal_flash_ramfunc.pbi ae498685b336a49c | |||
1334 1939 7774757779680060 flash_save.pbi dc7405226be28cc6 | |||
1729 2087 7774757781171735 system_stm32f4xx.pbi f50e519d7e78a5de | |||
1732 2090 7774757781191666 stm32f4xx_hal.pbi a073c739b6b34173 | |||
1595 2122 7774757781371064 stm32f4xx_it.pbi d01766022cb163bc | |||
1599 2182 7774757781696829 tim.pbi f07c6d790a519d93 | |||
2182 2219 7774757782489253 stm32f4xx_ll_crc.pbi dcf41d4b97590765 | |||
1777 2226 7774757782545315 stm32f4xx_hal_crc.pbi 881b29e4c80746b3 | |||
1939 2355 7774757783677455 stm32f4xx_hal_rcc_ex.pbi c1d751d24d77a2df | |||
2226 2358 7774757783412413 stm32f4xx_ll_pwr.pbi 952cb4e4f4edb65b | |||
2219 2362 7774757783863005 stm32f4xx_ll_i2c.pbi 7f1151d8874c40c9 | |||
2362 2426 7774757784281614 stm32f4xx_ll_rng.pbi 5e12b9ea00d0b826 | |||
2359 2428 7774757784261676 stm32f4xx_ll_rcc.pbi fb9ace481decf8ab | |||
2426 2470 7774757784937681 stm32f4xx_ll_usart.pbi 783190689e783d9 | |||
2429 2511 7774757785326375 app_hooks.pbi ffd399489d189d5a | |||
2470 2516 7774757785416109 stm32f4xx_ll_dma.pbi f9e6142ede2883b4 | |||
2122 2599 7774757786284402 stm32f4xx_hal_tim_ex.pbi 3c68a2e86514987f | |||
2090 2621 7774757786503677 stm32f4xx_hal_tim.pbi 71840baae88d57c4 | |||
2087 2628 7774757786573447 stm32f4xx_hal_sram.pbi 4652c5af4efd4e19 | |||
2599 2643 7774757786703004 stm32f4xx_ll_tim.pbi b88554c6464192f5 | |||
2621 2687 7774757786958201 stm32f4xx_ll_spi.pbi ce805017b70a4f43 | |||
2629 2711 7774757787406701 os_cpu_c.pbi eb75b848b406ea34 | |||
2711 2758 7774757787835262 stm32f4xx_ll_gpio.pbi df8b54563945d41d | |||
2356 2798 7774757788279456 stm32f4xx_hal_pwr.pbi b347497fce55b6a8 | |||
2799 2981 7774757789782474 stm32f4xx_ll_exti.pbi 883a2fd463949e02 | |||
2981 3054 7774757790828172 os_dbg.pbi f7287a072fe86a55 | |||
3054 3090 7774757791133180 test.1_part6.pbi b9d684e502f25afa | |||
2687 3142 7774757791723241 stm32f4xx_hal_uart.pbi e7ca7ebbb4330340 | |||
2758 3191 7774757791832868 stm32f4xx_hal_rcc.pbi 50976e6b18f3b8bc | |||
2512 3222 7774757792456595 test.1_part0.pbi 60db414ccd7a80f4 | |||
2517 3226 7774757792406773 test.1_part1.pbi 72148e63fe682e2f | |||
3227 3262 7774757792901125 stm32f4xx_ll_dac.pbi 7dfc4be0933cdfaf | |||
2643 3274 7774757793030690 test.1_part2.pbi 932c7a5b50912170 | |||
3263 3277 7774757793070559 test.1_part5.pbi 41f12be61ce67c27 | |||
3091 3329 7774757793584348 ucos_ii.pbi 4e0ab25e0060431e | |||
3329 3408 7774757793919877 test.1_part7.pbi 67c64030b23c9b51 | |||
3142 3463 7774757794922970 stm32f4xx_hal_wwdg.pbi fca2b44f67349f99 | |||
3192 3538 7774757795381443 stm32f4xx_hal_usart.pbi b368fafd8b8b8bb9 | |||
3223 3562 7774757795755841 stm32f4xx_hal_pwr_ex.pbi b84426bf5a4ce0cf | |||
3275 3719 7774757797186849 stm32f4xx_hal_i2c_ex.pbi 7798e48f8e6ef374 | |||
3538 4035 7774757800662008 test.1_part4.pbi b15d70d6e2dea5ca | |||
3720 4222 7774757802537525 test.1_part3.pbi 2c7780fc3f88c160 | |||
4223 4570 7774757806008919 test.1.pbd 363d5d355a216cdf | |||
4570 6215 7774757822110213 test.1.pbw f11e09b552b4c82f | |||
32 503 7774758302187140 tim.pbi f07c6d790a519d93 | |||
504 1035 7774758307518345 test.1_part1.pbi 72148e63fe682e2f | |||
1036 1380 7774758310962764 test.1.pbd 363d5d355a216cdf | |||
1380 3020 7774758326958792 test.1.pbw f11e09b552b4c82f | |||
36 418 7774758353867993 tim.pbi f07c6d790a519d93 | |||
419 948 7774758359181271 test.1_part1.pbi 72148e63fe682e2f | |||
949 1296 7774758362662264 test.1.pbd 363d5d355a216cdf | |||
1296 2901 7774758378363869 test.1.pbw f11e09b552b4c82f | |||
44 489 7774760193113989 tim.pbi f07c6d790a519d93 | |||
490 1101 7774760199253685 test.1_part1.pbi 72148e63fe682e2f | |||
1102 1489 7774760203131502 test.1.pbd 363d5d355a216cdf | |||
1490 3121 7774760219100007 test.1.pbw f11e09b552b4c82f | |||
1022 1453 7775491967310981 stm32f4xx_hal_i2c.pbi 74395538aa12fa10 | |||
2024 2356 7775491976990745 stm32f4xx_hal_dma.pbi 2d6aa8f3983bf80a | |||
1263 1658 7775491969448764 stm32f4xx_hal_timebase_tim.pbi b6f5ce0feaca8054 | |||
257 706 7775491960455381 stm32f4xx_hal_i2c_ex.pbi 7798e48f8e6ef374 | |||
2180 2542 7775491978783315 stm32f4xx_hal_dma_ex.pbi 1960c5ab56ffede7 | |||
2489 2913 7775491982417984 main.pbi 9c0a6aa02351636a | |||
494 955 7775491962830988 stm32f4xx_hal_exti.pbi 373789209d565f00 | |||
1450 1816 7775491971680760 stm32f4xx_it.pbi d01766022cb163bc | |||
2021 2491 7775491978105984 stm32f4xx_hal_cortex.pbi 2c6d2473a153fb5a | |||
1816 2179 7775491974790780 system_stm32f4xx.pbi f50e519d7e78a5de | |||
2073 2488 7775491978387516 gpio.pbi a088b5271f02118a | |||
864 1220 7775491965590989 stm32f4xx_hal_gpio.pbi 53b438f48be9a8d0 | |||
3076 3611 7775491989645763 test.1_part0.pbi 60db414ccd7a80f4 | |||
3611 3958 7775491993118138 test.1.pbd 363d5d355a216cdf | |||
2491 3074 7775491984281909 test.1_part1.pbi 72148e63fe682e2f | |||
2543 3075 7775491984241897 test.1_part2.pbi 932c7a5b50912170 | |||
2211 2594 7775491979068866 dma.pbi 4f5ebe00ac67ed57 | |||
1453 1907 7775491972550755 tim.pbi f07c6d790a519d93 | |||
1659 2091 7775491974410748 usart.pbi 7c2d93866867ab60 | |||
2595 3076 7775491984211971 modbus_log.pbi 596603da5f343c45 | |||
2356 2820 7775491981319035 flash_save.pbi dc7405226be28cc6 | |||
2091 2597 7775491979028944 modbus_crc.pbi 9b76681ddf289794 |
@@ -1,55 +1,61 @@ | |||
main.pbi: \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\dma.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source\os_trace.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Ports\os_cpu.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\os_cfg.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\app_cfg.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source\ucos_ii.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_float_setup.h \ | |||
E:\Software\IAR\arm\inc\c\ycheck.h E:\Software\IAR\arm\inc\c\math.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\tim.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\usart.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\modbus_log.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\flash_save.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\modbus_crc.h \ | |||
E:\Software\IAR\arm\inc\c\stdarg.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Product_stdlib.h \ | |||
E:\Software\IAR\arm\inc\c\stdlib.h E:\Software\IAR\arm\inc\c\ctype.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Product_string.h \ | |||
E:\Software\IAR\arm\inc\c\string.h E:\Software\IAR\arm\inc\c\stdio.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\gpio.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h \ | |||
E:\Software\IAR\arm\inc\c\ysizet.h E:\Software\IAR\arm\inc\c\stddef.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Include\mpu_armv7.h \ | |||
E:\Software\IAR\arm\inc\c\iccarm_builtin.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Include\cmsis_iccarm.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Include\cmsis_compiler.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Include\cmsis_version.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Product.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src\main.c \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\main.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\stm32f4xx_hal_conf.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_rcc.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include\stm32f4xx.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include\core_cm4.h \ | |||
E:\Software\IAR\arm\inc\c\stdint.h E:\Software\IAR\arm\inc\c\ycheck.h \ | |||
E:\Software\IAR\arm\inc\c\yvals.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Defaults.h \ | |||
E:\Software\IAR\arm\inc\c\yvals.h E:\Software\IAR\arm\inc\c\stdint.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Include\core_cm4.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\stm32f4xx_hal_conf.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\main.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src\main.c | |||
E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Product.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/cmsis_version.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include\cmsis_iccarm.h \ | |||
E:\Software\IAR\arm\inc\c\iccarm_builtin.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/mpu_armv7.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||
E:\Software\IAR\arm\inc\c\stddef.h E:\Software\IAR\arm\inc\c\ysizet.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_gpio.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_exti.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_dma.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_cortex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_flash.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_pwr.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_tim.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_uart.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\gpio.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/main.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/tim.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/usart.h \ | |||
E:\Software\IAR\arm\inc\c\stdio.h E:\Software\IAR\arm\inc\c\string.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Product_string.h \ | |||
E:\Software\IAR\arm\inc\c\ctype.h E:\Software\IAR\arm\inc\c\stdlib.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Product_stdlib.h \ | |||
E:\Software\IAR\arm\inc\c\stdarg.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/modbus_crc.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/flash_save.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/modbus_log.h \ | |||
E:\Software\IAR\arm\inc\c\math.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_float_setup.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source\ucos_ii.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\app_cfg.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\os_cfg.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Ports\os_cpu.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source/os_trace.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\tim.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\usart.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\dma.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\flash_save.h |
@@ -1,12 +1,13 @@ | |||
os_cpu_c.pbi: \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source\os_trace.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Ports\os_cpu.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\os_cfg.h \ | |||
E:\Software\IAR\arm\inc\c\ycheck.h E:\Software\IAR\arm\inc\c\ysizet.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Product.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Defaults.h \ | |||
E:\Software\IAR\arm\inc\c\yvals.h E:\Software\IAR\arm\inc\c\stdio.h \ | |||
E:\Software\IAR\arm\inc\c\stdarg.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\app_cfg.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Ports\os_cpu_c.c \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source\ucos_ii.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Ports\os_cpu_c.c | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\app_cfg.h \ | |||
E:\Software\IAR\arm\inc\c\stdarg.h E:\Software\IAR\arm\inc\c\stdio.h \ | |||
E:\Software\IAR\arm\inc\c\ycheck.h E:\Software\IAR\arm\inc\c\yvals.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Defaults.h \ | |||
E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Product.h \ | |||
E:\Software\IAR\arm\inc\c\ysizet.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\os_cfg.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\UCOS\Ports\os_cpu.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source/os_trace.h |
@@ -1,53 +1,55 @@ | |||
tim.pbi: \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source\os_trace.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Ports\os_cpu.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\os_cfg.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\app_cfg.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source\ucos_ii.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_float_setup.h \ | |||
E:\Software\IAR\arm\inc\c\ycheck.h E:\Software\IAR\arm\inc\c\math.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\tim.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\usart.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\modbus_log.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\flash_save.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\modbus_crc.h \ | |||
E:\Software\IAR\arm\inc\c\stdarg.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Product_stdlib.h \ | |||
E:\Software\IAR\arm\inc\c\stdlib.h E:\Software\IAR\arm\inc\c\ctype.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Product_string.h \ | |||
E:\Software\IAR\arm\inc\c\string.h E:\Software\IAR\arm\inc\c\stdio.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_pwr.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ramfunc.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_flash.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_cortex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_dma.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_exti.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_gpio.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc_ex.h \ | |||
E:\Software\IAR\arm\inc\c\ysizet.h E:\Software\IAR\arm\inc\c\stddef.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Include\mpu_armv7.h \ | |||
E:\Software\IAR\arm\inc\c\iccarm_builtin.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Include\cmsis_iccarm.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Include\cmsis_compiler.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Include\cmsis_version.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Product.h \ | |||
tim.pbi: e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src\tim.c \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\tim.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/main.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc\stm32f4xx_hal_conf.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_rcc.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include\stm32f4xx.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include\core_cm4.h \ | |||
E:\Software\IAR\arm\inc\c\stdint.h E:\Software\IAR\arm\inc\c\ycheck.h \ | |||
E:\Software\IAR\arm\inc\c\yvals.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Defaults.h \ | |||
E:\Software\IAR\arm\inc\c\yvals.h E:\Software\IAR\arm\inc\c\stdint.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Include\core_cm4.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f407xx.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_def.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_rcc.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\stm32f4xx_hal_conf.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\Core\Inc\main.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\Core\Src\tim.c | |||
E:\\Software\\IAR\\arm\\inc\\c\\DLib_Config_Full.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Product.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/cmsis_version.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/cmsis_compiler.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include\cmsis_iccarm.h \ | |||
E:\Software\IAR\arm\inc\c\iccarm_builtin.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Include/mpu_armv7.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \ | |||
E:\Software\IAR\arm\inc\c\stddef.h E:\Software\IAR\arm\inc\c\ysizet.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_gpio.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_exti.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_dma.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_cortex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_flash.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_pwr.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_tim.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Drivers/STM32F4xx_HAL_Driver/Inc\stm32f4xx_hal_uart.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/usart.h \ | |||
E:\Software\IAR\arm\inc\c\stdio.h E:\Software\IAR\arm\inc\c\string.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Product_string.h \ | |||
E:\Software\IAR\arm\inc\c\ctype.h E:\Software\IAR\arm\inc\c\stdlib.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_Product_stdlib.h \ | |||
E:\Software\IAR\arm\inc\c\stdarg.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/modbus_crc.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/flash_save.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/modbus_log.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM/../Core/Inc/tim.h \ | |||
E:\Software\IAR\arm\inc\c\math.h \ | |||
E:\Software\IAR\arm\inc\c\DLib_float_setup.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source\ucos_ii.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\app_cfg.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Config\os_cfg.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Ports\os_cpu.h \ | |||
e:\Users\Mortal\Desktop\Train_Camp_PLSR\PLSR\PLSR\EWARM\..\UCOS\Source/os_trace.h |
@@ -1,6 +1,6 @@ | |||
<mxfile host="65bd71144e"> | |||
<diagram id="WqJZujmxfrUlVBQZ9tah" name="第 1 页"> | |||
<mxGraphModel dx="1680" dy="1743" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" background="none" math="0" shadow="0"> | |||
<mxGraphModel dx="2168" dy="1757" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" background="none" math="0" shadow="0"> | |||
<root> | |||
<mxCell id="0"/> | |||
<mxCell id="1" parent="0"/> | |||