@@ -167,85 +167,91 @@ int main(void) | |||||
CPU_CRITICAL_ENTER();///进入临界区 | CPU_CRITICAL_ENTER();///进入临界区 | ||||
/* 任务1 */ | /* 任务1 */ | ||||
OSTaskCreate((OS_TCB * )&Y1Direction_Tsk, /* 任务控制块 */ | |||||
(CPU_CHAR* )"Y1Direction", /* 任务名字 */ | |||||
(OS_TASK_PTR)Y1Direction, /* 任务函数 */ | |||||
(void * )0, /* 传递给任务函数的参数 */ | |||||
(OS_PRIO )TASK_Y1Direction, /* 任务优先级 */ | |||||
(CPU_STK * )&Task_Y1Direction_STK[0], /* 任务堆栈基地址 */ | |||||
(CPU_STK_SIZE)Task_Y1Direction_SIZE/10, /* 任务堆栈深度限位 */ | |||||
(CPU_STK_SIZE)Task_Y1Direction_SIZE, /* 任务堆栈大小 */ | |||||
(OS_MSG_QTY)0, /* 任务内部消息队列能够接收的最大消息数目,为0时禁止接收消息 */ | |||||
(OS_TICK )0, /* 当使能时间片轮转时的时间片长度,为0时为默认长度 */ | |||||
(void * )0, /* 用户补充的存储区 */ | |||||
(OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, /* 任务选项 */ | |||||
(OS_ERR * )&err); /* 存放该函数错误时的返回值 */ | |||||
OSTaskCreate((OS_TCB * )&Y1Direction_Tsk, /* 任务控制块 */ | |||||
(CPU_CHAR* )"Y1Direction", /* 任务名字 */ | |||||
(OS_TASK_PTR)Y1Direction, /* 任务函数 */ | |||||
(void * )0, /* 传递给任务函数的参数 */ | |||||
(OS_PRIO )TASK_Y1Direction, /* 任务优先级 */ | |||||
(CPU_STK * )&Task_Y1Direction_STK[0], /* 任务堆栈基地址 */ | |||||
(CPU_STK_SIZE)Task_Y1Direction_SIZE/10, /* 任务堆栈深度限位 */ | |||||
(CPU_STK_SIZE)Task_Y1Direction_SIZE, /* 任务堆栈大小 */ | |||||
(OS_MSG_QTY)0,/* 任务内部消息队列能够接收的最大消息数目,为0时禁止接收消息 */ | |||||
(OS_TICK )0,/* 当使能时间片轮转时的时间片长度,为0时为默认长度 */ | |||||
(void * )0,/* 用户补充的存储区 */ | |||||
(OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR,/* 任务选项 */ | |||||
(OS_ERR * )&err);/* 存放该函数错误时的返回值 */ | |||||
/* 任务2 */ | /* 任务2 */ | ||||
OSTaskCreate((OS_TCB * )&PulseStart_Tsk, | |||||
(CPU_CHAR* )"PulseStartTsk", | |||||
(OS_TASK_PTR)PulseStartTsk, | |||||
(void * )0, | |||||
(OS_PRIO )TASK_PulseStart, | |||||
(CPU_STK * )&Task_PulseStart_STK[0], | |||||
(CPU_STK_SIZE)Task_PulseStart_SIZE/10, | |||||
(CPU_STK_SIZE)Task_PulseStart_SIZE, | |||||
(OS_MSG_QTY)0, | |||||
(OS_TICK )0, | |||||
(void * )0, | |||||
(OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, | |||||
(OS_ERR * )&err); | |||||
OSTaskCreate((OS_TCB * )&PulseStart_Tsk, | |||||
(CPU_CHAR* )"PulseStartTsk", | |||||
(OS_TASK_PTR)PulseStartTsk, | |||||
(void * )0, | |||||
(OS_PRIO )TASK_PulseStart, | |||||
(CPU_STK * )&Task_PulseStart_STK[0], | |||||
(CPU_STK_SIZE)Task_PulseStart_SIZE/10, | |||||
(CPU_STK_SIZE)Task_PulseStart_SIZE, | |||||
(OS_MSG_QTY)0, | |||||
(OS_TICK )0, | |||||
(void * )0, | |||||
(OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, | |||||
(OS_ERR * )&err); | |||||
/* 任务3 */ | /* 任务3 */ | ||||
OSTaskCreate((OS_TCB * )&DirOutput_Tsk, | |||||
(CPU_CHAR* )"DirOutput_Tsk", | |||||
(OS_TASK_PTR)DirOutput, | |||||
(void * )0, | |||||
(OS_PRIO )TASK_DirOutput, | |||||
(CPU_STK * )&Task_DirOutput_STK[0], | |||||
(CPU_STK_SIZE)Task_DirOutput_SIZE/10, | |||||
(CPU_STK_SIZE)Task_DirOutput_SIZE, | |||||
(OS_MSG_QTY)0, | |||||
(OS_TICK )0, | |||||
(void * )0, | |||||
(OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, | |||||
(OS_ERR * )&err); | |||||
OSTaskCreate((OS_TCB * )&DirOutput_Tsk, | |||||
(CPU_CHAR* )"DirOutput_Tsk", | |||||
(OS_TASK_PTR)DirOutput, | |||||
(void * )0, | |||||
(OS_PRIO )TASK_DirOutput, | |||||
(CPU_STK * )&Task_DirOutput_STK[0], | |||||
(CPU_STK_SIZE)Task_DirOutput_SIZE/10, | |||||
(CPU_STK_SIZE)Task_DirOutput_SIZE, | |||||
(OS_MSG_QTY)0, | |||||
(OS_TICK )0, | |||||
(void * )0, | |||||
(OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, | |||||
(OS_ERR * )&err); | |||||
/* 任务4 */ | /* 任务4 */ | ||||
OSTaskCreate((OS_TCB * )&PulseGetCount_Tsk, | |||||
(CPU_CHAR* )"PulseGetCount_Tsk", | |||||
(OS_TASK_PTR)PulseGetCount, | |||||
(void * )0, | |||||
(OS_PRIO )TASK_PulseGetCount, | |||||
(CPU_STK * )&Task_PulseGetCount_STK[0], | |||||
(CPU_STK_SIZE)Task_PulseGetCount_SIZE/10, | |||||
OSTaskCreate((OS_TCB * )&PulseGetCount_Tsk, | |||||
(CPU_CHAR* )"PulseGetCount_Tsk", | |||||
(OS_TASK_PTR)PulseGetCount, | |||||
(void * )0, | |||||
(OS_PRIO )TASK_PulseGetCount, | |||||
(CPU_STK * )&Task_PulseGetCount_STK[0], | |||||
(CPU_STK_SIZE)Task_PulseGetCount_SIZE/10, | |||||
(CPU_STK_SIZE)Task_PulseGetCount_SIZE, | (CPU_STK_SIZE)Task_PulseGetCount_SIZE, | ||||
(OS_MSG_QTY)0, | |||||
(OS_TICK )0, | |||||
(void * )0, | |||||
(OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, | |||||
(OS_ERR * )&err); | |||||
(OS_MSG_QTY)0, | |||||
(OS_TICK )0, | |||||
(void * )0, | |||||
(OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, | |||||
(OS_ERR * )&err); | |||||
/* 任务5 */ | /* 任务5 */ | ||||
OSTaskCreate((OS_TCB * )&EXTSet_Tsk, | |||||
(CPU_CHAR* )"EXTSet_Tsk", | |||||
OSTaskCreate((OS_TCB * )&EXTSet_Tsk, | |||||
(CPU_CHAR* )"EXTSet_Tsk", | |||||
(OS_TASK_PTR)EXTSet, | (OS_TASK_PTR)EXTSet, | ||||
(void * )0, | |||||
(OS_PRIO )TASK_EXTSet, | |||||
(CPU_STK * )&Task_EXTSet_STK[0], | |||||
(CPU_STK_SIZE)Task_EXTSet_SIZE/10, | |||||
(CPU_STK_SIZE)Task_EXTSet_SIZE, | |||||
(OS_MSG_QTY)0, | |||||
(OS_TICK )0, | |||||
(void * )0, | |||||
(OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, | |||||
(OS_ERR * )&err); | |||||
(void * )0, | |||||
(OS_PRIO )TASK_EXTSet, | |||||
(CPU_STK * )&Task_EXTSet_STK[0], | |||||
(CPU_STK_SIZE)Task_EXTSet_SIZE/10, | |||||
(CPU_STK_SIZE)Task_EXTSet_SIZE, | |||||
(OS_MSG_QTY)0, | |||||
(OS_TICK )0, | |||||
(void * )0, | |||||
(OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR, | |||||
(OS_ERR * )&err); | |||||
/* 掉电数据读取 */ | /* 掉电数据读取 */ | ||||
ModbusLoadSRAM(); | ModbusLoadSRAM(); | ||||
PLSRPluseLoad(); //读取脉冲设置 | PLSRPluseLoad(); //读取脉冲设置 | ||||
PLSROptionLoad(); //读取脉冲基础设置 | PLSROptionLoad(); //读取脉冲基础设置 | ||||
AccUp = (double)(Options.InitSpeed / Options.AccUpTime); | AccUp = (double)(Options.InitSpeed / Options.AccUpTime); | ||||
AccDown = - (double)(Options.InitSpeed / Options.AccDownTime); | AccDown = - (double)(Options.InitSpeed / Options.AccDownTime); | ||||
NowFrequency = PulseOutput[0].Frequency; | |||||
NowFrequency = PulseOutput[Options.StartPulse].Frequency; | |||||
NowPulse = Options.StartPulse; | NowPulse = Options.StartPulse; | ||||
N_Acc = PulseOutput[Options.StartPulse].Frequency / 2000 * Options.AccDownTime; | |||||
CPU_CRITICAL_EXIT() ; ///退出临界区 | CPU_CRITICAL_EXIT() ; ///退出临界区 | ||||
OSStart(&err); | OSStart(&err); | ||||
/* USER CODE END 2 */ | /* USER CODE END 2 */ | ||||
@@ -541,7 +547,7 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) | |||||
if (ArrFlag == 1 && NowPulse != 10) | if (ArrFlag == 1 && NowPulse != 10) | ||||
{ | { | ||||
/* 脉冲加速 */ | /* 脉冲加速 */ | ||||
if (PulseOutput[NowPulse].Frequency > PulseOutput[PrePulse].Frequency) | |||||
if (PulseOutput[NowPulse].Frequency > PulseOutput[PrePulse].Frequency) /* 如果当前的脉冲频率大于之前的脉冲频率 */ | |||||
{ | { | ||||
if (ArrTimes <= (int32_t)(PulseOutput[NowPulse].Frequency - PulseOutput[PrePulse].Frequency) / AccUp) | if (ArrTimes <= (int32_t)(PulseOutput[NowPulse].Frequency - PulseOutput[PrePulse].Frequency) / AccUp) | ||||
{ | { | ||||
@@ -558,14 +564,13 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) | |||||
} | } | ||||
} | } | ||||
/* 脉冲减速 */ | /* 脉冲减速 */ | ||||
else if (PulseOutput[NowPulse].Frequency <= PulseOutput[PrePulse].Frequency) | |||||
else if (PulseOutput[NowPulse].Frequency <= PulseOutput[PrePulse].Frequency) /* 如果当前的脉冲频率小于之前的脉冲频率 */ | |||||
{ | { | ||||
if (ArrTimes <= (int32_t)(PulseOutput[NowPulse].Frequency - PulseOutput[PrePulse].Frequency) / AccDown) | if (ArrTimes <= (int32_t)(PulseOutput[NowPulse].Frequency - PulseOutput[PrePulse].Frequency) / AccDown) | ||||
{ | { | ||||
SetFrequency(Options.SentPost, PulseOutput[PrePulse].Frequency + ArrTimes * AccDown); | SetFrequency(Options.SentPost, PulseOutput[PrePulse].Frequency + ArrTimes * AccDown); | ||||
if (ArrTimes == 0) PulseStart(); /* 开始产生脉冲 */ | if (ArrTimes == 0) PulseStart(); /* 开始产生脉冲 */ | ||||
ArrTimes++; | |||||
ArrTimes++; | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
@@ -576,6 +581,7 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) | |||||
} | } | ||||
} | } | ||||
} | } | ||||
/* 实时修改频率的加减速 */ | /* 实时修改频率的加减速 */ | ||||
if (FixArrFlag == 1 && NowPulse != 10) | if (FixArrFlag == 1 && NowPulse != 10) | ||||
{ | { | ||||
@@ -632,12 +638,13 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) | |||||
ArrTimes = 0; | ArrTimes = 0; | ||||
} | } | ||||
} | } | ||||
/* 最后一段脉冲的减速 */ | /* 最后一段脉冲的减速 */ | ||||
if (PulseRuning == 0 && NowPulse != 10) | |||||
if (PulseRuning == 0) | |||||
{ | { | ||||
if (ArrTimes <= PulseOutput[NowPulse].Frequency / (- AccDown)) | |||||
if (ArrTimes <= PulseOutput[PrePulse].Frequency / (- AccDown)) | |||||
{ | { | ||||
SetFrequency(Options.SentPost, PulseOutput[NowPulse].Frequency + ArrTimes * AccDown); | |||||
SetFrequency(Options.SentPost, PulseOutput[PrePulse].Frequency + ArrTimes * AccDown); | |||||
if (ArrTimes == 0) PulseStart(); /* 开始产生脉冲 */ | if (ArrTimes == 0) PulseStart(); /* 开始产生脉冲 */ | ||||
ArrTimes++; | ArrTimes++; | ||||
} | } | ||||
@@ -647,9 +654,7 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) | |||||
FixArrFlag = 0; | FixArrFlag = 0; | ||||
HAL_TIM_PWM_Stop_IT(&htim10,TIM_CHANNEL_1); /* 停止PWM输出 */ | HAL_TIM_PWM_Stop_IT(&htim10,TIM_CHANNEL_1); /* 停止PWM输出 */ | ||||
HAL_TIM_Base_Stop_IT(&htim3); // 停止定时器并禁用中断 | HAL_TIM_Base_Stop_IT(&htim3); // 停止定时器并禁用中断 | ||||
} | |||||
/* 思路: 在中断内计算正常情况下减速时间对应多少脉冲,在给最后一段脉冲赋值时减去对应的值,同时使能减速标志位 | |||||
在此函数内实现最后一段脉冲的减速过程。 */ | |||||
} | |||||
} | } | ||||
} | } | ||||
@@ -249,6 +249,7 @@ void TIM2_IRQHandler(void) | |||||
PulseCount = 0; | PulseCount = 0; | ||||
ArrFlag = 0; | ArrFlag = 0; | ||||
PulseRuning = 0; | PulseRuning = 0; | ||||
PrePulse = NowPulse; /* 保存之前的脉冲段 */ | |||||
NowPulse = 10; | NowPulse = 10; | ||||
HAL_TIM_Base_Start_IT(&htim3); /* 启动定时器3和中断 */ | HAL_TIM_Base_Start_IT(&htim3); /* 启动定时器3和中断 */ | ||||
} | } | ||||
@@ -153,11 +153,11 @@ | |||||
<RecentlyUsedMenus>1</RecentlyUsedMenus> | <RecentlyUsedMenus>1</RecentlyUsedMenus> | ||||
<MenuShadows>1</MenuShadows> | <MenuShadows>1</MenuShadows> | ||||
<ShowAllMenusAfterDelay>1</ShowAllMenusAfterDelay> | <ShowAllMenusAfterDelay>1</ShowAllMenusAfterDelay> | ||||
<CommandsUsage>601200002500298100001F00000013860000050000002CE1000002000000108600007A060000239200000600000029E10000040000005F860000040000000F8100000100000020810000060000000C810000100000001D8100000100000059860000010000000486000003000000568600000E030000288100002500000000840000030000002BE100000700000025E100000100000009860000010000000E810000020000001F8100001801000000E10000020000000B810000060000005886000002000000148600007E020000118600007E030000058100000100000000860000020000002781000012000000468100002A0100000281000001000000608600000100000008860000050000005D860000170000001E8100000600000016860000010000000586000001000000</CommandsUsage> | |||||
<CommandsUsage>7812000025001386000005000000298100001F00000010860000830600002CE100000200000029E1000004000000239200000600000020810000060000000F810000010000005F860000040000001D810000010000000C8100001000000004860000030000005986000001000000288100002500000056860000110300002BE100000700000000840000030000001F810000190100000E81000002000000098600000100000025E10000010000000B8100000600000000E10000020000001486000081020000588600000200000027810000120000000086000002000000058100000100000011860000840300000281000001000000468100002C01000060860000010000001E810000060000005D86000017000000088600000500000005860000010000001686000001000000</CommandsUsage> | |||||
</MFCToolBarParameters> | </MFCToolBarParameters> | ||||
<CommandManager> | <CommandManager> | ||||
<CommandsWithoutImages>300020870000238700002487000021870000198600000D8400000F84000008840000FFFFFFFF54840000328100001C810000098400002AE10000008200001C8200000182000067860000838600005886000004DC00007784000007840000808C000044D500007486000045D5000046D5000047D5000048D5000049D500004AD500004BD500004CD500001C8F00001E8F00001F8F0000208F0000218F0000118F000000DC000001DC000002DC000003DC0000A4860000A38600005486000059860000</CommandsWithoutImages> | <CommandsWithoutImages>300020870000238700002487000021870000198600000D8400000F84000008840000FFFFFFFF54840000328100001C810000098400002AE10000008200001C8200000182000067860000838600005886000004DC00007784000007840000808C000044D500007486000045D5000046D5000047D5000048D5000049D500004AD500004BD500004CD500001C8F00001E8F00001F8F0000208F0000218F0000118F000000DC000001DC000002DC000003DC0000A4860000A38600005486000059860000</CommandsWithoutImages> | ||||
<MenuUserImages>5D001386000031000000048400007E0000000286000013000000578600001C000000768600003B000000108600002F00000015810000570000002CE10000750000004581000016000000848600003C00000007E100006D000000318400008500000023920000000000000D86000019000000D98600001000000004E100006B000000208100005D0000000F810000550000005F860000660000000A8600002D00000001E10000680000000D800000490000000C81000052000000078600002A00000023E100006F00000006840000800000000486000027000000198200004700000056860000350000001781000059000000038400007D00000001860000120000009A8600001A00000016820000450000004A810000790000001481000056000000008400007A0000002BE1000074000000448100000A0000008584000017000000008100004B00000030840000840000000E840000820000000C86000018000000D88600000F0000005E8600003700000003E100006A0000001F8100005C0000000E810000540000001A860000340000002F8200004800000025E1000071000000098600002C00000000E100006700000006860000290000008E8600003D00000022E100006E0000000B81000051000000148600003200000041E1000077000000D184000020000000058400007F0000000386000014000000698600003A000000188200004600000011860000300000001681000058000000028400007C0000000086000011000000558600000800000049810000780000004681000064000000108400008300000032840000860000000E8600001B000000DA86000006000000438100000B000000608600003900000005E100006C00000051840000880000000B8600002E0000005D8600003600000002E10000690000000A84000081000000C386000004000000A18600003E0000000D81000053000000088600002B0000005C840000020000000586000028000000C08600000E00000037870000030000001686000033000000</MenuUserImages> | |||||
<MenuUserImages>5D00578600001C0000000286000013000000048400007E00000013860000310000002CE10000750000001581000057000000108600002F000000768600003B000000D9860000100000000D860000190000002392000000000000318400008500000007E100006D000000848600003C00000045810000160000000A8600002D0000005F860000660000000F81000055000000208100005D00000004E100006B00000023E100006F000000078600002A0000000C810000520000000D8000004900000001E10000680000001982000047000000048600002700000006840000800000004A8100007900000016820000450000009A8600001A0000000186000012000000038400007D000000178100005900000056860000350000002BE1000074000000008400007A0000001481000056000000D88600000F0000000C860000180000000E840000820000003084000084000000008100004B0000008584000017000000448100000A000000098600002C00000025E10000710000002F820000480000001A860000340000000E810000540000001F8100005C00000003E100006A0000005E860000370000000B8100005100000022E100006E0000008E8600003D000000068600002900000000E10000670000001882000046000000698600003A0000000386000014000000058400007F000000D18400002000000041E10000770000001486000032000000498100007800000055860000080000000086000011000000028400007C00000016810000580000001186000030000000DA860000060000000E8600001B0000003284000086000000108400008300000046810000640000000B8600002E000000518400008800000005E100006C0000006086000039000000438100000B000000088600002B0000000D81000053000000A18600003E000000C3860000040000000A8400008100000002E10000690000005D8600003600000016860000330000003787000003000000C08600000E00000005860000280000005C84000002000000</MenuUserImages> | |||||
</CommandManager> | </CommandManager> | ||||
<Pane-59393> | <Pane-59393> | ||||
<ID>0</ID> | <ID>0</ID> | ||||
@@ -1155,7 +1155,7 @@ | |||||
</BasePane-34050> | </BasePane-34050> | ||||
<MFCToolBar-34051> | <MFCToolBar-34051> | ||||
<Name>Main</Name> | <Name>Main</Name> | ||||
<Buttons>00200000010000002100FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000067000000FFFEFF000000000000000000000000000100000001000000018001E100000000000068000000FFFEFF000000000000000000000000000100000001000000018003E10000000000006A000000FFFEFF000000000000000000000000000100000001000000018000810000000000004B000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E10000000000006D000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E10000000004006F000000FFFEFF000000000000000000000000000100000001000000018022E10000000004006E000000FFFEFF000000000000000000000000000100000001000000018025E100000000000071000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000000074000000FFFEFF00000000000000000000000000010000000100000001802CE100000000040075000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6E4281000000000000FFFFFFFFFFFEFF0000000000000000000100000000000000010000007800000002002050FFFFFFFFFFFEFF0096000000000000000000018021810000000004005E000000FFFEFF000000000000000000000000000100000001000000018024E100000000000070000000FFFEFF000000000000000000000000000100000001000000018028E100000000040072000000FFFEFF000000000000000000000000000100000001000000018029E100000000000073000000FFFEFF000000000000000000000000000100000001000000018002810000000000004D000000FFFEFF0000000000000000000000000001000000010000000180298100000000000062000000FFFEFF0000000000000000000000000001000000010000000180278100000000000060000000FFFEFF0000000000000000000000000001000000010000000180288100000000000061000000FFFEFF00000000000000000000000000010000000100000001801D810000000004005A000000FFFEFF00000000000000000000000000010000000100000001801E810000000004005B000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B8100000000000051000000FFFEFF00000000000000000000000000010000000100000001800C8100000000000052000000FFFEFF00000000000000000000000000010000000100000001805F8600000000000066000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001801F810000000000005C000000FFFEFF000000000000000000000000000100000001000000018020810000000000005D000000FFFEFF0000000000000000000000000001000000010000000180468100000000020064000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E00FF020000</Buttons> | |||||
<Buttons>00200000010000002100FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000066000000FFFEFF000000000000000000000000000100000001000000018001E100000000000067000000FFFEFF000000000000000000000000000100000001000000018003E100000000000069000000FFFEFF000000000000000000000000000100000001000000018000810000000000004A000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E10000000000006C000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E10000000004006E000000FFFEFF000000000000000000000000000100000001000000018022E10000000004006D000000FFFEFF000000000000000000000000000100000001000000018025E100000000000070000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000000073000000FFFEFF00000000000000000000000000010000000100000001802CE100000000040074000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6E4281000000000000FFFFFFFFFFFEFF0001000000000000000100000000000000010000007800000002002050FFFFFFFFFFFEFF0096000000000000000000018021810000000004005D000000FFFEFF000000000000000000000000000100000001000000018024E10000000000006F000000FFFEFF000000000000000000000000000100000001000000018028E100000000040071000000FFFEFF000000000000000000000000000100000001000000018029E100000000000072000000FFFEFF000000000000000000000000000100000001000000018002810000000000004C000000FFFEFF0000000000000000000000000001000000010000000180298100000000000061000000FFFEFF000000000000000000000000000100000001000000018027810000000000005F000000FFFEFF0000000000000000000000000001000000010000000180288100000000000060000000FFFEFF00000000000000000000000000010000000100000001801D8100000000040059000000FFFEFF00000000000000000000000000010000000100000001801E810000000004005A000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B8100000000000050000000FFFEFF00000000000000000000000000010000000100000001800C8100000000000051000000FFFEFF00000000000000000000000000010000000100000001805F8600000000000065000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001801F810000000000005B000000FFFEFF000000000000000000000000000100000001000000018020810000000000005C000000FFFEFF0000000000000000000000000001000000010000000180468100000000020063000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E00FF020000</Buttons> | |||||
</MFCToolBar-34051> | </MFCToolBar-34051> | ||||
<Pane-34051> | <Pane-34051> | ||||
<ID>34051</ID> | <ID>34051</ID> | ||||
@@ -20,7 +20,7 @@ | |||||
<LeaveTargetRunning>_ 0</LeaveTargetRunning> | <LeaveTargetRunning>_ 0</LeaveTargetRunning> | ||||
</StLinkDriver> | </StLinkDriver> | ||||
<DebugChecksum> | <DebugChecksum> | ||||
<Checksum>3907057673</Checksum> | |||||
<Checksum>932074847</Checksum> | |||||
</DebugChecksum> | </DebugChecksum> | ||||
<Exceptions> | <Exceptions> | ||||
<StopOnUncaught>_ 0</StopOnUncaught> | <StopOnUncaught>_ 0</StopOnUncaught> | ||||
@@ -12,10 +12,6 @@ | |||||
<path>C:\Users\Chiri\Desktop\TrainCamp-Jiangyunsong-PLSR\Core\Src\main.c</path> | <path>C:\Users\Chiri\Desktop\TrainCamp-Jiangyunsong-PLSR\Core\Src\main.c</path> | ||||
<row>466</row> | <row>466</row> | ||||
</bookmark> | </bookmark> | ||||
<bookmark> | |||||
<path>C:\Users\Chiri\Desktop\TrainCamp-Jiangyunsong-PLSR\Core\Src\main.c</path> | |||||
<row>532</row> | |||||
</bookmark> | |||||
<bookmark> | <bookmark> | ||||
<path>C:\Users\Chiri\Desktop\TrainCamp-Jiangyunsong-PLSR\Core\Src\main.c</path> | <path>C:\Users\Chiri\Desktop\TrainCamp-Jiangyunsong-PLSR\Core\Src\main.c</path> | ||||
<row>342</row> | <row>342</row> | ||||
@@ -28,10 +24,6 @@ | |||||
<path>C:\Users\Chiri\Desktop\TrainCamp-Jiangyunsong-PLSR\Core\Src\main.c</path> | <path>C:\Users\Chiri\Desktop\TrainCamp-Jiangyunsong-PLSR\Core\Src\main.c</path> | ||||
<row>238</row> | <row>238</row> | ||||
</bookmark> | </bookmark> | ||||
<bookmark> | |||||
<path>C:\Users\Chiri\Desktop\TrainCamp-Jiangyunsong-PLSR\Core\Src\main.c</path> | |||||
<row>523</row> | |||||
</bookmark> | |||||
<bookmark> | <bookmark> | ||||
<path>C:\Users\Chiri\Desktop\TrainCamp-Jiangyunsong-PLSR\Core\Src\main.c</path> | <path>C:\Users\Chiri\Desktop\TrainCamp-Jiangyunsong-PLSR\Core\Src\main.c</path> | ||||
<row>560</row> | <row>560</row> | ||||
@@ -33,7 +33,7 @@ int32_t PulseCount = 0; | |||||
void SetFrequency(uint8_t SentPost, uint32_t Frequency) | void SetFrequency(uint8_t SentPost, uint32_t Frequency) | ||||
{ | { | ||||
CalculatePSCARR(Frequency, 72000000, 65535, &psc, &arr); | CalculatePSCARR(Frequency, 72000000, 65535, &psc, &arr); | ||||
printf("Fre=%d,",Frequency); | |||||
//printf("Fre=%d,",Frequency); | |||||
switch (SentPost) | switch (SentPost) | ||||
{ | { | ||||
case 0: TIM10->ARR = arr, TIM10->PSC = psc, TIM10->CCR1 = arr / 2; break; | case 0: TIM10->ARR = arr, TIM10->PSC = psc, TIM10->CCR1 = arr / 2; break; | ||||
@@ -74,23 +74,6 @@ float GetAcc(int32_t Start, int32_t End, int32_t AccCount) | |||||
return ((float)End - (float)Start) / (float)AccCount; | return ((float)End - (float)Start) / (float)AccCount; | ||||
} | } | ||||
/** | |||||
* @brief 设置结果脉冲数 | |||||
* @param[in] PulseCount 要设定的脉冲数 | |||||
* @return 无 | |||||
*/ | |||||
void MAXPulseSet(int32_t PulseCount) | |||||
{ | |||||
if (NowPulse == 0) | |||||
{ | |||||
NowMAXPulse = PulseOutput[NowPulse].PulseCount; | |||||
} | |||||
else | |||||
{ | |||||
NowMAXPulse += PulseOutput[NowPulse].PulseCount; | |||||
} | |||||
} | |||||
/** | /** | ||||
* @brief 设置下一次进入中断的脉冲数 | * @brief 设置下一次进入中断的脉冲数 | ||||
* @return 无 | * @return 无 | ||||