浏览代码

恢复昨日进度,解决特定情况下加减速脉冲计算不正确导致错误处理脉冲数清零的问题

2
JIU JIALIN 1 个月前
父节点
当前提交
ae0b2dcf50
共有 13 个文件被更改,包括 1126 次插入1207 次删除
  1. +2
    -6
      PLSR/PLSR/Core/Inc/tim.h
  2. +45
    -93
      PLSR/PLSR/Core/Src/tim.c
  3. +14
    -14
      PLSR/PLSR/EWARM/settings/Project.wsdt
  4. +6
    -6
      PLSR/PLSR/EWARM/settings/test.1.dbgdt
  5. +13
    -13
      PLSR/PLSR/EWARM/settings/test.1.dnx
  6. +570
    -570
      PLSR/PLSR/EWARM/test.1.dep
  7. 二进制
      PLSR/PLSR/EWARM/test.1/Exe/test.1.sim
  8. +84
    -127
      PLSR/PLSR/EWARM/test.1/Obj/.ninja_log
  9. 二进制
      PLSR/PLSR/EWARM/test.1/Obj/test.1.pbd
  10. 二进制
      PLSR/PLSR/EWARM/test.1/Obj/test.1.pbd.browse
  11. +392
    -378
      PLSR/PLSR/EWARM/test.1/Obj/test.1.pbw
  12. 二进制
      PLSR/PLSR/EWARM/test.1/Obj/test.1_part1.pbi
  13. 二进制
      PLSR/PLSR/EWARM/test.1/Obj/tim.pbi

+ 2
- 6
PLSR/PLSR/Core/Inc/tim.h 查看文件

@@ -54,10 +54,8 @@ extern uint32_t g_last_freq; // 上一次计算的频率,用于PLSR_Calculate_
/* USER CODE BEGIN Private defines */
// PLSR系统配置参数
#define PLSR_MAX_SECTIONS 10 // 最大段数
#define PLSR_PWM_FREQ_MIN 10 // 最小PWM频率 1Hz
#define PLSR_PWM_FREQ_MIN 1 // 最小PWM频率 1Hz
#define PLSR_PWM_FREQ_MAX 100000 // 最大PWM频率 100kHz
#define PLSR_PWM_FREQ_DEFAULT 1000 // 默认PWM频率 1kHz
#define PLSR_DUTY_CYCLE 50 // 初始占空比 50%

// PWM输出引脚定义 (仅PF6)
#define PLSR_PWM_PIN GPIO_PIN_6 // PF6 - TIM10_CH1
@@ -219,9 +217,7 @@ typedef enum {
#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个脉冲通知任务一次

#define SCALE_FACTOR 2000ULL
// 基础PWM函数
// ==================== PWM控制函数 ====================
void PLSR_PWM_Init(void);


+ 45
- 93
PLSR/PLSR/Core/Src/tim.c 查看文件

@@ -62,7 +62,8 @@ void PLSR_Wait_StartTimer(PLSR_RouteConfig_t* route)
PLSR_WaitCondition_t* wait_cond = &current_section->wait_condition;
// 根据等待类型设置TIM6计时器
switch (wait_cond->wait_type) {
switch (wait_cond->wait_type)
{
case PLSR_WAIT_TIME:
s_wait_time_target = wait_cond->wait_time_ms;
s_wait_time_counter = 0;
@@ -142,7 +143,7 @@ void MX_TIM2_Init(void)
}
// 配置外部时钟源 - ETR模式
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_ETRMODE2; // 外部时钟模式2
sClockSourceConfig.ClockPolarity = TIM_CLOCKPOLARITY_INVERTED; // 下降沿触发
sClockSourceConfig.ClockPolarity = TIM_CLOCKPOLARITY_NONINVERTED; // 下降沿触发
sClockSourceConfig.ClockPrescaler = TIM_CLOCKPRESCALER_DIV1; // 不分频
sClockSourceConfig.ClockFilter = 0; // 无滤波
if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)
@@ -671,27 +672,22 @@ void PLSR_PWM_Start(void)
{
case 0: // TIM10
__HAL_TIM_SET_COMPARE(&htim10, TIM_CHANNEL_1, htim10.Init.Period / 2); // 设置占空比为50%
//HAL_TIM_PWM_Start(&htim10, TIM_CHANNEL_1);
break;
case 1: // TIM11
__HAL_TIM_SET_COMPARE(&htim10, TIM_CHANNEL_1, htim10.Init.Period / 2);
//HAL_TIM_PWM_Start_IT(&htim11, TIM_CHANNEL_1);
break;
case 2: // TIM13
__HAL_TIM_SET_COMPARE(&htim10, TIM_CHANNEL_1, htim10.Init.Period / 2);
//HAL_TIM_PWM_Start_IT(&htim13, TIM_CHANNEL_1);
break;
case 3: // TIM14
__HAL_TIM_SET_COMPARE(&htim10, TIM_CHANNEL_1, htim10.Init.Period / 2);
//HAL_TIM_PWM_Start_IT(&htim14, TIM_CHANNEL_1);
break;
default: // 默认使用TIM10
__HAL_TIM_SET_COMPARE(&htim10, TIM_CHANNEL_1, htim10.Init.Period / 2);
//HAL_TIM_PWM_Start_IT(&htim10, TIM_CHANNEL_1);
break;
}
}
@@ -1395,98 +1391,54 @@ void Calculate_PluseNum(PLSR_RouteConfig_t *route)
}


static inline uint64_t square_u32(uint32_t x) {
return (uint64_t)x * (uint64_t)x;
}

/**
* @brief 计算最优中间频率
* @param v0 起始频率
* @param vt_desired 期望目标频率
* @param total_pulses 可用总脉冲数
* @param a 加速度
* @param d 减速度
* @return 最优中间频率vm
*/
uint32_t OptimalIntermediateFrequency(uint32_t v0, uint32_t vt_desired,
uint32_t OptimalIntermediateFrequency(uint32_t v0, uint32_t vt_desired,
int32_t total_pulses, uint32_t a, uint32_t d)
{
// 数学推导:
// 设中间频率为vm
// 第一阶段脉冲数:s1 = |vm^2 - v0^2| / (2000 * rate1)
// 第三阶段脉冲数:s3 = vm^2 / (2000 * d)
// 约束条件:s1 + s3 = total_pulses
uint32_t vm = v0; // 默认返回起始频率
if (total_pulses <= 0) return vm;
// 情况1:需要加速 (v0 < vt_desired)
if (v0 < vt_desired)
{
// s1 = (vm^2 - v0^2) / (2000 * a)
// s3 = vm^2 / (2000 * d)
// s1 + s3 = total_pulses
// (vm^2 - v0^2) / (2000 * a) + vm^2 / (2000 * d) = total_pulses
// vm^2 * (1/(2000*a) + 1/(2000*d)) - v0^2/(2000*a) = total_pulses
// vm^2 * (d + a)/(2000*a*d) = total_pulses + v0^2/(2000*a)
uint64_t coefficient = (uint64_t)(a + d) * 1000ULL; // 分母:2000*a*d,这里先乘1000
uint64_t constant_term = ((uint64_t)v0 * v0) / (2ULL * a); // v0^2/(2*a),单位是脉冲*1000
uint64_t rhs = (uint64_t)total_pulses * 1000ULL + constant_term; // 右边,单位是脉冲*1000
// vm^2 = rhs * 2000 * a * d / (a + d) / 1000
uint64_t vm_squared = (rhs * 2000ULL * a * d) / coefficient;
if (vm_squared > 0 && vm_squared <= 0xFFFFFFFFULL)
{
vm = integer_sqrt((uint32_t)vm_squared);
// 限制vm不能超过期望目标频率太多
if (vm > vt_desired * 2) vm = vt_desired * 2;
// 验证计算结果
uint32_t s1_calc = ((uint64_t)vm * vm - (uint64_t)v0 * v0) / (2000ULL * a);
uint32_t s3_calc = ((uint64_t)vm * vm) / (2000ULL * d);
if ((int32_t)(s1_calc + s3_calc) > total_pulses) {
// 结果超出限制,进行二分搜索优化
vm = BinarySearchOptimalFreq(v0, vt_desired, total_pulses, a, d, 1);
}
}
if (total_pulses <= 0 || a == 0 || d == 0) {
return v0; // 无法优化
}
// 情况2:需要减速 (v0 > vt_desired)
else if (v0 > vt_desired)
{
// s1 = (v0^2 - vm^2) / (2000 * d)
// s3 = vm^2 / (2000 * d)
// s1 + s3 = (v0^2 - vm^2) / (2000 * d) + vm^2 / (2000 * d) = v0^2 / (2000 * d)
// 这种情况下总脉冲数固定为 v0^2 / (2000 * d)
uint32_t required_pulses = ((uint64_t)v0 * v0) / (2000ULL * d);
if (required_pulses <= (uint32_t)total_pulses)
{
// 脉冲数足够,可以减速到任意频率
// 选择一个合理的中间频率,优先选择期望频率
if (vt_desired < v0) {
vm = vt_desired;
} else {
vm = v0 / 2; // 选择一个中间值
}
}
else
{
// 脉冲数不足,计算能减速到的最低频率
// vm^2 = v0^2 - total_pulses * 2000 * d
uint64_t v0_squared = (uint64_t)v0 * v0;
uint64_t reduction = (uint64_t)total_pulses * 2000ULL * d;
if (v0_squared > reduction) {
uint32_t vm_squared = (uint32_t)(v0_squared - reduction);
vm = integer_sqrt(vm_squared);
} else {
vm = 0; // 理论上可以减速到0
}

uint32_t vm = v0;

// 统一平方项
uint64_t v0_sq = square_u32(v0);

if (v0 < vt_desired) {
// 加速情况
// 公式:vm^2 = [(total + v0^2/(2a)) * 2ad] / (a+d)
uint64_t rhs = (uint64_t)total_pulses * SCALE_FACTOR + (v0_sq / (2ULL * a));
uint64_t vm_sq = (rhs * 2ULL * a * d) / (a + d);

if (vm_sq > 0xFFFFFFFFULL) vm_sq = 0xFFFFFFFFULL;
vm = integer_sqrt((uint32_t)vm_sq);

if (vm > vt_desired * 2) vm = vt_desired * 2;

// 验证是否超出 total_pulses
uint64_t s1 = (square_u32(vm) - v0_sq) / (SCALE_FACTOR * a);
uint64_t s3 = square_u32(vm) / (SCALE_FACTOR * d);
if (s1 + s3 > (uint64_t)total_pulses) {
vm = BinarySearchOptimalFreq(v0, vt_desired, total_pulses, a, d, 1);
}

} else if (v0 > vt_desired) {
// 减速情况
uint64_t required = v0_sq / (SCALE_FACTOR * d);
if (required <= (uint64_t)total_pulses) {
vm = (vt_desired < v0) ? vt_desired : v0 / 2;
} else {
uint64_t reduction = (uint64_t)total_pulses * SCALE_FACTOR * d;
vm = (v0_sq > reduction) ? integer_sqrt((uint32_t)(v0_sq - reduction)) : 0;
}
}

return vm;
}

@@ -2487,6 +2439,7 @@ void PLSR_Accel_Process(PLSR_RouteConfig_t* route)
if(g_first_flag == 0 && route->current_freq != 0) //在这里第一次启动PWM输出避免发默认脉冲
{
g_first_flag = 1;
PLSR_PWM_Start();
switch (route->output_port)
{
case 0:
@@ -2503,8 +2456,7 @@ void PLSR_Accel_Process(PLSR_RouteConfig_t* route)
break;
default:
break;
}
PLSR_PWM_Start();
}
}
// // 如果是第一次设置非零频率,启动PWM输出
// if(first_flag == 1 && route->current_freq != 0)


+ 14
- 14
PLSR/PLSR/EWARM/settings/Project.wsdt
文件差异内容过多而无法显示
查看文件


+ 6
- 6
PLSR/PLSR/EWARM/settings/test.1.dbgdt
文件差异内容过多而无法显示
查看文件


+ 13
- 13
PLSR/PLSR/EWARM/settings/test.1.dnx 查看文件

@@ -14,13 +14,13 @@
<StLinkDriver>
<stlinkserialNo>46232557</stlinkserialNo>
<stlinkfoundProbes />
<stlinkResetStyle>0</stlinkResetStyle>
<stlinkResetStrategy>2</stlinkResetStrategy>
<CStepIntDis>_ 0</CStepIntDis>
<LeaveTargetRunning>_ 0</LeaveTargetRunning>
<stlinkResetStyle>0</stlinkResetStyle>
<stlinkResetStrategy>2</stlinkResetStrategy>
</StLinkDriver>
<DebugChecksum>
<Checksum>1636260004</Checksum>
<Checksum>2134249781</Checksum>
</DebugChecksum>
<Exceptions>
<StopOnUncaught>_ 0</StopOnUncaught>
@@ -84,6 +84,13 @@
<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>
@@ -129,6 +136,9 @@
<ShowTimeSum>1</ShowTimeSum>
<SumSortOrder>0</SumSortOrder>
</EventLog>
<Breakpoints2>
<Count>0</Count>
</Breakpoints2>
<DriverProfiling>
<Enabled>0</Enabled>
<Mode>3</Mode>
@@ -142,14 +152,4 @@
<CallStackStripe>
<ShowTiming>1</ShowTiming>
</CallStackStripe>
<DisassembleMode>
<mode>0</mode>
</DisassembleMode>
<Breakpoints2>
<Count>0</Count>
</Breakpoints2>
<Aliases>
<Count>0</Count>
<SuppressDialog>0</SuppressDialog>
</Aliases>
</settings>

+ 570
- 570
PLSR/PLSR/EWARM/test.1.dep
文件差异内容过多而无法显示
查看文件


二进制
PLSR/PLSR/EWARM/test.1/Exe/test.1.sim 查看文件


+ 84
- 127
PLSR/PLSR/EWARM/test.1/Obj/.ninja_log 查看文件

@@ -1,130 +1,87 @@
# ninja log v5
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
1473 1528 7778704581800765 stm32f4xx_ll_rng.pbi 5e12b9ea00d0b826
45 189 7778704568680764 stm32f4xx_ll_gpio.pbi df8b54563945d41d
733 764 7778704574430773 stm32f4xx_ll_tim.pbi b88554c6464192f5
691 1025 7778704576950764 stm32f4xx_hal_flash_ex.pbi ac2d035774fe6a2e
922 1473 7778704580250760 stm32f4xx_hal_pwr.pbi b347497fce55b6a8
656 693 7778704573670771 stm32f4xx_ll_pwr.pbi 952cb4e4f4edb65b
163 201 7778704568800774 test.1_part7.pbi 67c64030b23c9b51
1594 2259 7778704588070764 test.1_part3.pbi 2c7780fc3f88c160
1298 1594 7778704582720764 stm32f4xx_hal_rcc_ex.pbi c1d751d24d77a2df
1475 1530 7778704582050754 app_hooks.pbi ffd399489d189d5a
1480 2086 7778704586370754 test.1_part4.pbi b15d70d6e2dea5ca
1025 1475 7778704580240779 stm32f4xx_hal_pwr_ex.pbi b84426bf5a4ce0cf
831 1023 7778704576680781 os_cpu_c.pbi eb75b848b406ea34
204 656 7778704572740762 stm32f4xx_hal_rcc.pbi 50976e6b18f3b8bc
651 1096 7778704577310766 stm32f4xx_hal_tim.pbi 71840baae88d57c4
190 598 7778704572520775 stm32f4xx_hal_usart.pbi b368fafd8b8b8bb9
3889 5472 7778704621185652 test.1.pbw f11e09b552b4c82f
2014 2487 7762488664073707 uart.pbi 5ce52444157923c9
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
1295 1471 7778704580040764 stm32f4xx_ll_dac.pbi 7dfc4be0933cdfaf
596 651 7778704573050770 stm32f4xx_ll_crc.pbi dcf41d4b97590765
1471 1730 7778704582760757 stm32f4xx_ll_rcc.pbi fb9ace481decf8ab
1566 1920 7778704585490757 stm32f4xx_hal_msp.pbi 8144db72f01a260b
693 834 7778704575000770 stm32f4xx_ll_spi.pbi ce805017b70a4f43
34 203 7778704568820772 os_dbg.pbi f7287a072fe86a55
765 831 7778704574730773 stm32f4xx_ll_usart.pbi 783190689e783d9
2444 2925 7778704595880752 stm32f4xx_hal_crc.pbi 881b29e4c80746b3
599 653 7778704573070769 stm32f4xx_ll_dma.pbi f9e6142ede2883b4
41 173 7778704568520774 stm32f4xx_ll_exti.pbi 883a2fd463949e02
1730 1783 7778704584230757 test.1_part5.pbi 41f12be61ce67c27
39 163 7778704568410778 ucos_ii.pbi 4e0ab25e0060431e
2091 2400 7778704590780748 stm32f4xx_hal.pbi a073c739b6b34173
654 690 7778704573650774 stm32f4xx_ll_i2c.pbi 7f1151d8874c40c9
1096 1477 7778704581000779 stm32f4xx_hal_sram.pbi 4652c5af4efd4e19
174 733 7778704573760766 stm32f4xx_hal_flash.pbi eccf13860e1d0c6a
1531 1565 7778704582330754 test.1_part6.pbi b9d684e502f25afa
465 922 7778704575980761 stm32f4xx_hal_tim_ex.pbi 3c68a2e86514987f
47 390 7778704570670773 stm32f4xx_hal_flash_ramfunc.pbi ae498685b336a49c
1023 1480 7778704580170788 stm32f4xx_hal_wwdg.pbi fca2b44f67349f99
43 465 7778704571230770 stm32f4xx_hal_uart.pbi e7ca7ebbb4330340
35 454 7762489045860992 timer.pbi 8f8acc6a162957f
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
40 70 7778185612129836 stm32f4xx_ll_gpio.pbi df8b54563945d41d
42 73 7778185612149832 stm32f4xx_ll_i2c.pbi 7f1151d8874c40c9
71 100 7778185612439833 stm32f4xx_ll_pwr.pbi 952cb4e4f4edb65b
101 248 7778185613807889 stm32f4xx_ll_dac.pbi 7dfc4be0933cdfaf
248 293 7778185614327893 stm32f4xx_ll_exti.pbi 883a2fd463949e02
37 414 7778185615517919 stm32f4xx_hal_pwr.pbi b347497fce55b6a8
38 434 7778185615567875 stm32f4xx_hal_wwdg.pbi fca2b44f67349f99
32 437 7778185615567875 stm32f4xx_hal_usart.pbi b368fafd8b8b8bb9
35 440 7778185615657882 stm32f4xx_hal_flash_ramfunc.pbi ae498685b336a49c
294 443 7778185615787884 stm32f4xx_ll_rng.pbi 5e12b9ea00d0b826
414 447 7778185615897878 stm32f4xx_ll_usart.pbi 783190689e783d9
73 450 7778185615907887 stm32f4xx_hal_rcc_ex.pbi c1d751d24d77a2df
450 496 7778185616307880 stm32f4xx_ll_rcc.pbi fb9ace481decf8ab
447 499 7778185616257883 stm32f4xx_ll_crc.pbi dcf41d4b97590765
497 531 7778185616747894 stm32f4xx_ll_dma.pbi f9e6142ede2883b4
434 848 7778185619727880 stm32f4xx_hal_gpio.pbi 53b438f48be9a8d0
444 851 7778185619807884 stm32f4xx_hal_sram.pbi 4652c5af4efd4e19
441 855 7778185619577881 stm32f4xx_hal_pwr_ex.pbi b84426bf5a4ce0cf
437 893 7778185620247896 stm32f4xx_hal_uart.pbi e7ca7ebbb4330340
499 951 7778185620807895 stm32f4xx_hal_i2c_ex.pbi 7798e48f8e6ef374
857 998 7778185621097887 stm32f4xx_ll_tim.pbi b88554c6464192f5
999 1074 7778185621941033 stm32f4xx_ll_spi.pbi ce805017b70a4f43
532 1165 7778185623053680 stm32f4xx_hal_tim.pbi 71840baae88d57c4
951 1186 7778185623173682 app_hooks.pbi ffd399489d189d5a
1075 1215 7778185623303953 os_cpu_c.pbi eb75b848b406ea34
1216 1283 7778185623880306 test.1_part5.pbi 41f12be61ce67c27
1166 1287 7778185624130303 os_dbg.pbi f7287a072fe86a55
1287 1388 7778185624752924 test.1_part6.pbi b9d684e502f25afa
851 1393 7778185625220825 stm32f4xx_hal_i2c.pbi 74395538aa12fa10
1186 1397 7778185625210814 ucos_ii.pbi 4e0ab25e0060431e
1397 1447 7778185625846245 test.1_part7.pbi 67c64030b23c9b51
848 1470 7778185626036240 stm32f4xx_hal_tim_ex.pbi 3c68a2e86514987f
893 1498 7778185626406242 stm32f4xx_hal_rcc.pbi 50976e6b18f3b8bc
1284 1716 7778185628456263 stm32f4xx_hal_cortex.pbi 2c6d2473a153fb5a
1389 1772 7778185629086260 stm32f4xx_hal_dma_ex.pbi 1960c5ab56ffede7
1394 1775 7778185629136248 stm32f4xx_hal_flash.pbi eccf13860e1d0c6a
1448 1958 7778185630626247 stm32f4xx_hal_dma.pbi 2d6aa8f3983bf80a
1470 2091 7778185631776241 test.1_part4.pbi b15d70d6e2dea5ca
1717 2095 7778185632228716 stm32f4xx_hal_flash_ex.pbi ac2d035774fe6a2e
1498 2098 7778185632359814 test.1_part3.pbi 2c7780fc3f88c160
1772 2151 7778185632882373 stm32f4xx_hal_msp.pbi 8144db72f01a260b
1775 2370 7778185634858902 tim.pbi f07c6d790a519d93
1958 2600 7778185637158907 stm32f4xx_hal_exti.pbi 373789209d565f00
2092 2603 7778185637408903 stm32f4xx_it.pbi d01766022cb163bc
2099 2606 7778185637168904 dma.pbi 4f5ebe00ac67ed57
2152 2639 7778185637688904 modbus_crc.pbi 9b76681ddf289794
2095 2671 7778185637948907 usart.pbi 7c2d93866867ab60
2370 3032 7778185641295448 modbus_log.pbi 596603da5f343c45
2600 3035 7778185641531068 stm32f4xx_hal.pbi a073c739b6b34173
2639 3059 7778185641912662 stm32f4xx_hal_timebase_tim.pbi b6f5ce0feaca8054
2604 3112 7778185642318709 gpio.pbi a088b5271f02118a
2606 3112 7778185642440129 main.pbi 9c0a6aa02351636a
2672 3167 7778185642831339 flash_save.pbi dc7405226be28cc6
3036 3465 7778185646089421 system_stm32f4xx.pbi f50e519d7e78a5de
3033 3468 7778185645969426 stm32f4xx_hal_crc.pbi 881b29e4c80746b3
3167 3769 7778185649068477 test.1_part0.pbi 60db414ccd7a80f4
3466 4034 7778185651628940 test.1_part1.pbi 72148e63fe682e2f
3468 4034 7778185651378944 test.1_part2.pbi 932c7a5b50912170
4035 4384 7778185655254428 test.1.pbd 363d5d355a216cdf
4385 6079 7778185671900328 test.1.pbw f11e09b552b4c82f
38 412 7778185700338927 main.pbi 9c0a6aa02351636a
36 412 7778185700258917 gpio.pbi a088b5271f02118a
33 449 7778185700578922 tim.pbi f07c6d790a519d93
412 987 7778185705860863 test.1_part0.pbi 60db414ccd7a80f4
449 988 7778185706110867 test.1_part1.pbi 72148e63fe682e2f
988 1333 7778185709560887 test.1.pbd 363d5d355a216cdf
1333 2931 7778185725201525 test.1.pbw f11e09b552b4c82f
201 595 7778704572650764 stm32f4xx_hal_i2c.pbi 74395538aa12fa10
2704 3062 7778704597020778 stm32f4xx_hal_dma.pbi 2d6aa8f3983bf80a
1784 2089 7778704587640752 stm32f4xx_hal_timebase_tim.pbi b6f5ce0feaca8054
2087 2443 7778704591000755 stm32f4xx_hal_dma_ex.pbi 1960c5ab56ffede7
834 1298 7778704578200762 stm32f4xx_hal_i2c_ex.pbi 7798e48f8e6ef374
837 1295 7778704578330761 stm32f4xx_hal_exti.pbi 373789209d565f00
1528 2091 7778704586910754 main.pbi 9c0a6aa02351636a
1920 2263 7778704589120751 stm32f4xx_it.pbi d01766022cb163bc
2400 2779 7778704594350755 stm32f4xx_hal_cortex.pbi 2c6d2473a153fb5a
2584 2927 7778704596030748 system_stm32f4xx.pbi f50e519d7e78a5de
1478 1918 7778704585290759 gpio.pbi a088b5271f02118a
3550 3888 7778704605680759 test.1.pbd 363d5d355a216cdf
2860 3413 7778704600820770 test.1_part0.pbi 60db414ccd7a80f4
391 836 7778704574510766 stm32f4xx_hal_gpio.pbi 53b438f48be9a8d0
2928 3463 7778704601360748 test.1_part1.pbi 72148e63fe682e2f
3062 3550 7778704602290766 test.1_part2.pbi 932c7a5b50912170
2260 2584 7778704592600756 dma.pbi 4f5ebe00ac67ed57
1918 2324 7778704589940758 tim.pbi f07c6d790a519d93
2324 2778 7778704594500748 usart.pbi 7c2d93866867ab60
2089 2495 7778704591550751 modbus_log.pbi 596603da5f343c45
2495 2860 7778704595300772 modbus_crc.pbi 9b76681ddf289794
2263 2704 7778704593820752 flash_save.pbi dc7405226be28cc6
33 425 7778717414386552 tim.pbi f07c6d790a519d93
425 953 7778717419782821 test.1_part1.pbi 72148e63fe682e2f
954 1307 7778717423318541 test.1.pbd 363d5d355a216cdf
1307 3013 7778717439547165 test.1.pbw f11e09b552b4c82f
32 398 7778717466938097 tim.pbi f07c6d790a519d93
398 929 7778717472256922 test.1_part1.pbi 72148e63fe682e2f
930 1271 7778717475666943 test.1.pbd 363d5d355a216cdf
1271 2847 7778717491082974 test.1.pbw f11e09b552b4c82f
34 403 7778717599370980 tim.pbi f07c6d790a519d93
404 931 7778717604666922 test.1_part1.pbi 72148e63fe682e2f
931 1275 7778717608101831 test.1.pbd 363d5d355a216cdf
1276 2846 7778717623448415 test.1.pbw f11e09b552b4c82f
34 529 7778718945905371 tim.pbi f07c6d790a519d93
530 1084 7778718951494718 test.1_part1.pbi 72148e63fe682e2f
1084 1430 7778718954950379 test.1.pbd 363d5d355a216cdf
1430 3105 7778718971126608 test.1.pbw f11e09b552b4c82f
31 512 7778719060693533 tim.pbi f07c6d790a519d93
513 1039 7778719065978236 test.1_part1.pbi 72148e63fe682e2f
1039 1389 7778719069468446 test.1.pbd 363d5d355a216cdf
1390 2996 7778719085227574 test.1.pbw f11e09b552b4c82f
33 421 7778719502009124 tim.pbi f07c6d790a519d93
421 951 7778719507426081 test.1_part1.pbi 72148e63fe682e2f
951 1302 7778719510928761 test.1.pbd 363d5d355a216cdf
1302 2898 7778719526486350 test.1.pbw f11e09b552b4c82f

二进制
PLSR/PLSR/EWARM/test.1/Obj/test.1.pbd 查看文件


二进制
PLSR/PLSR/EWARM/test.1/Obj/test.1.pbd.browse 查看文件


+ 392
- 378
PLSR/PLSR/EWARM/test.1/Obj/test.1.pbw
文件差异内容过多而无法显示
查看文件


二进制
PLSR/PLSR/EWARM/test.1/Obj/test.1_part1.pbi 查看文件


二进制
PLSR/PLSR/EWARM/test.1/Obj/tim.pbi 查看文件


正在加载...
取消
保存