下班备份

This commit is contained in:
2025-09-18 19:02:02 +08:00
parent 5d024ff2e2
commit 7f660d9939
5 changed files with 106 additions and 99 deletions
+4 -9
View File
@@ -101,9 +101,7 @@
<sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime>
<bEvRecOn>1</bEvRecOn>
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>6</nTsel>
<nTsel>2</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
@@ -114,7 +112,7 @@
<tDlgDll></tDlgDll>
<tDlgPa></tDlgPa>
<tIfile></tIfile>
<pMon>Segger\JL2CM3.dll</pMon>
<pMon>BIN\CMSIS_AGDI.dll</pMon>
</DebugOpt>
<TargetDriverDllRegistry>
<SetRegEntry>
@@ -253,7 +251,7 @@
<Ww>
<count>19</count>
<WinNumber>1</WinNumber>
<ItemText>argv</ItemText>
<ItemText>argv,0x10</ItemText>
</Ww>
<Ww>
<count>20</count>
@@ -318,7 +316,6 @@
<pMultCmdsp></pMultCmdsp>
<DebugDescription>
<Enable>1</Enable>
<EnableFlashSeq>0</EnableFlashSeq>
<EnableLog>0</EnableLog>
<Protocol>2</Protocol>
<DbgClock>5000000</DbgClock>
@@ -406,8 +403,6 @@
<sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime>
<bEvRecOn>1</bEvRecOn>
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>-1</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
@@ -534,7 +529,7 @@
<Group>
<GroupName>common</GroupName>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
+7 -14
View File
@@ -10,7 +10,8 @@
<TargetName>Debug</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<pCCUsed>5060960::V5.06 update 7 (build 960)::ARMCC</pCCUsed>
<pArmCC>5060528::V5.06 update 5 (build 528)::ARMCC</pArmCC>
<pCCUsed>5060528::V5.06 update 5 (build 528)::ARMCC</pCCUsed>
<uAC6>0</uAC6>
<TargetOption>
<TargetCommonOption>
@@ -184,9 +185,6 @@
<hadXRAM>0</hadXRAM>
<uocXRam>0</uocXRam>
<RvdsVP>2</RvdsVP>
<RvdsMve>0</RvdsMve>
<RvdsCdeCp>0</RvdsCdeCp>
<nBranchProt>0</nBranchProt>
<hadIRAM2>1</hadIRAM2>
<hadIROM2>1</hadIROM2>
<StupSel>8</StupSel>
@@ -327,10 +325,9 @@
<uThumb>0</uThumb>
<uSurpInc>0</uSurpInc>
<uC99>1</uC99>
<uGnu>0</uGnu>
<useXO>0</useXO>
<v6Lang>3</v6Lang>
<v6LangP>5</v6LangP>
<v6LangP>3</v6LangP>
<vShortEn>1</vShortEn>
<vShortWch>1</vShortWch>
<v6Lto>0</v6Lto>
@@ -353,7 +350,7 @@
<NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc>
<useXO>0</useXO>
<ClangAsOpt>4</ClangAsOpt>
<uClangAs>0</uClangAs>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
@@ -862,9 +859,6 @@
<hadXRAM>0</hadXRAM>
<uocXRam>0</uocXRam>
<RvdsVP>1</RvdsVP>
<RvdsMve>0</RvdsMve>
<RvdsCdeCp>0</RvdsCdeCp>
<nBranchProt>0</nBranchProt>
<hadIRAM2>1</hadIRAM2>
<hadIROM2>1</hadIROM2>
<StupSel>8</StupSel>
@@ -1005,7 +999,6 @@
<uThumb>0</uThumb>
<uSurpInc>0</uSurpInc>
<uC99>1</uC99>
<uGnu>0</uGnu>
<useXO>0</useXO>
<v6Lang>0</v6Lang>
<v6LangP>0</v6LangP>
@@ -1031,7 +1024,7 @@
<NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc>
<useXO>0</useXO>
<ClangAsOpt>4</ClangAsOpt>
<uClangAs>0</uClangAs>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
@@ -1367,8 +1360,8 @@
<RTE>
<apis/>
<components>
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.5.0" condition="ARMv6_7_8-M Device">
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.8.0"/>
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.0.1" condition="ARMv6_7_8-M Device">
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.0.1"/>
<targetInfos>
<targetInfo name="Debug"/>
<targetInfo name="Release"/>
@@ -1,6 +1,6 @@
/*
* Auto generated Run-Time-Environment Configuration File
* Auto generated Run-Time-Environment Component Configuration File
* *** Do not modify ! ***
*
* Project: 'HC32F460'
@@ -17,5 +17,4 @@
#define CMSIS_device_header "HC32F460JETA.h"
#endif /* RTE_COMPONENTS_H */
+2 -2
View File
@@ -9,10 +9,10 @@
#define OSC_CNT 40
#define SLOPE_CNT 40
#define SLOPE_CNT 20
#define STOP_TIME_MS 500
#define RUN_TIME_MS 0
#define RUN_TIME_MS 200
#define BDC_STOP() Motor_Control(MOTOR_CMD_STOP)
#define BDC_UP() Motor_Control(MOTOR_CMD_FORWARD)
+92 -72
View File
@@ -14,7 +14,7 @@
#define MAIN_DBG_LOG(...) DBG_LOG(__VA_ARGS__)
#define MAIN_DBG_ARRAY(ARRAY, SIZE) DBG_ARRAY(ARRAY,SIZE)
#define SOFTWARE_VERSION 10 //软件版本
#define SOFTWARE_VERSION 11 //软件版本
#define HARDWARE_VERSION 20 //硬件版本
AppDetect_t App;
@@ -78,31 +78,63 @@ void GradeControl(ControlLevel_m level)
{
switch(level){
case LEVEL_1:{
App.ADTrack.Slope_VPT = 500;
App.ADTrack.LeftUpVPT = 10000;
App.ADTrack.LeftLowVPT = 10000;
App.ADTrack.RightUpVPT = 10000;
App.ADTrack.RightLowVPT = 10000;
App.ADTrack.LeftUpShieldVPT = 4000;
App.ADTrack.LeftLowShieldVPT = 4000;
App.ADTrack.RightUpShieldVPT = 4000;
App.ADTrack.RightLowShieldVPT = 4000;
break;}
case LEVEL_2:{
App.ADTrack.Slope_VPT = 500;
App.ADTrack.LeftUpVPT = 20000;
App.ADTrack.LeftLowVPT = 20000;
App.ADTrack.RightUpVPT = 20000;
App.ADTrack.RightLowVPT = 20000;
App.ADTrack.LeftUpShieldVPT = 4000;
App.ADTrack.LeftLowShieldVPT = 4000;
App.ADTrack.RightUpShieldVPT = 4000;
App.ADTrack.RightLowShieldVPT = 4000;
break;}
case LEVEL_3:{
App.ADTrack.Slope_VPT = 2000;
App.ADTrack.Slope_VPT = 500;
App.ADTrack.LeftUpVPT = 30000;
App.ADTrack.LeftLowVPT = 30000;
App.ADTrack.RightUpVPT = 30000;
App.ADTrack.RightLowVPT = 30000;
App.ADTrack.LeftUpShieldVPT = 4000;
App.ADTrack.LeftLowShieldVPT = 4000;
App.ADTrack.RightUpShieldVPT = 4000;
App.ADTrack.RightLowShieldVPT = 4000;
break;}
case LEVEL_4:{
App.ADTrack.Slope_VPT = 500;
App.ADTrack.LeftUpVPT = 40000;
App.ADTrack.LeftLowVPT = 40000;
App.ADTrack.RightUpVPT = 40000;
App.ADTrack.RightLowVPT = 40000;
App.ADTrack.LeftUpShieldVPT = 10000;
App.ADTrack.LeftLowShieldVPT = 10000;
App.ADTrack.RightUpShieldVPT = 10000;
App.ADTrack.RightLowShieldVPT = 10000;
break;}
case LEVEL_4:{
App.ADTrack.LeftUpShieldVPT = 4000;
App.ADTrack.LeftLowShieldVPT = 4000;
App.ADTrack.RightUpShieldVPT = 4000;
App.ADTrack.RightLowShieldVPT = 4000;
break;}
case LEVEL_5:{
App.ADTrack.Slope_VPT = 500;
App.ADTrack.LeftUpVPT = 50000;
App.ADTrack.LeftLowVPT = 50000;
App.ADTrack.RightUpVPT = 50000;
App.ADTrack.RightLowVPT = 50000;
App.ADTrack.LeftUpShieldVPT = 4000;
App.ADTrack.LeftLowShieldVPT = 4000;
App.ADTrack.RightUpShieldVPT = 4000;
App.ADTrack.RightLowShieldVPT = 4000;
break;}
}
}
@@ -143,7 +175,11 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
int32_t ll_slope = result_ll.slope;
int32_t ru_slope = result_ru.slope;
int32_t rl_slope = result_rl.slope;
//show(A2_slope);
// show(1, lu_slope);
// show(2, ll_slope);
// show(3, ru_slope);
// show(4, rl_slope);
for(int i = SLOPE_CNT-1; i > 0; i--)
{
@@ -278,12 +314,11 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
}
else if(App.DownFlag == true)
{
if(App.RunCollDelay1mSCnt <= 0)
{
if(App.LeftRunFalg == true)
{
if(lu_slope < -App.ADTrack.Slope_VPT
&& ll_slope > App.ADTrack.Slope_VPT)
&& ll_slope > App.ADTrack.Slope_VPT
&& App.RunCollDelay1mSCnt <= 0)
{
BDC_STOP();
App.StopFlag = true;
@@ -305,7 +340,7 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
{
if(ru_slope < -App.ADTrack.Slope_VPT
&& rl_slope > App.ADTrack.Slope_VPT
)
&& App.RunCollDelay1mSCnt <= 0)
{
BDC_STOP();
App.StopFlag = true;
@@ -324,54 +359,51 @@ void SupportControlHandle(int32_t *lu_ad, int32_t *ll_ad, int32_t *ru_ad, int32_
}
}
}
}
else if(App.UpFlag == true)
{
if(App.RunCollDelay1mSCnt <= 0)
if(App.LeftRunFalg == true)
{
if(App.LeftRunFalg == true)
if(lu_slope > App.ADTrack.Slope_VPT
&& ll_slope < -App.ADTrack.Slope_VPT
&& App.RunCollDelay1mSCnt <= 0)
{
if(lu_slope > App.ADTrack.Slope_VPT
&& ll_slope < -App.ADTrack.Slope_VPT)
{
BDC_STOP();
App.StopFlag = true;
App.DownFlag = false;
App.UpFlag = false;
App.StopCollDelay1mSCnt = STOP_TIME_MS;
}
else if(Olu_diff1 < (App.ADTrack.LeftUpVPT / 2)
&& Oll_diff1 > -(App.ADTrack.LeftLowVPT / 2))
{
BDC_STOP();
App.StopFlag = true;
App.DownFlag = false;
App.UpFlag = false;
App.StopCollDelay1mSCnt = STOP_TIME_MS;
}
BDC_STOP();
App.StopFlag = true;
App.DownFlag = false;
App.UpFlag = false;
App.StopCollDelay1mSCnt = STOP_TIME_MS;
}
else if(App.RightRunFalg == true)
else if(Olu_diff1 < (App.ADTrack.LeftUpVPT / 2)
&& Oll_diff1 > -(App.ADTrack.LeftLowVPT / 2))
{
if(ru_slope > App.ADTrack.Slope_VPT
&& rl_slope < -App.ADTrack.Slope_VPT
)
{
BDC_STOP();
App.StopFlag = true;
App.DownFlag = false;
App.UpFlag = false;
App.StopCollDelay1mSCnt = STOP_TIME_MS;
}
else if(Oru_diff1 < (App.ADTrack.RightUpVPT / 2)
&& Orl_diff1 > -(App.ADTrack.RightLowVPT / 2)
)
{
BDC_STOP();
App.StopFlag = true;
App.DownFlag = false;
App.UpFlag = false;
App.StopCollDelay1mSCnt = STOP_TIME_MS;
}
BDC_STOP();
App.StopFlag = true;
App.DownFlag = false;
App.UpFlag = false;
App.StopCollDelay1mSCnt = STOP_TIME_MS;
}
}
else if(App.RightRunFalg == true)
{
if(ru_slope > App.ADTrack.Slope_VPT
&& rl_slope < -App.ADTrack.Slope_VPT
&& App.RunCollDelay1mSCnt <= 0)
{
BDC_STOP();
App.StopFlag = true;
App.DownFlag = false;
App.UpFlag = false;
App.StopCollDelay1mSCnt = STOP_TIME_MS;
}
else if(Oru_diff1 < (App.ADTrack.RightUpVPT / 2)
&& Orl_diff1 > -(App.ADTrack.RightLowVPT / 2)
)
{
BDC_STOP();
App.StopFlag = true;
App.DownFlag = false;
App.UpFlag = false;
App.StopCollDelay1mSCnt = STOP_TIME_MS;
}
}
}
@@ -644,9 +676,7 @@ int main(void)
#if(USE_WDT == 1)
FeedDogHandler();
#endif
#if(USE_DEBUG == 1)
DebugLoopHandler();
#endif
#if(USE_CS1237_LEFTUP == 1)
LEFTUP_CS1237DataLoopCollect();
#endif
@@ -676,20 +706,10 @@ void SysTick_IrqHandler(void)
SysTick_IncTick();
App1mSRoutine();
Dbg1msRoutine();
#if(USE_CS1237_LEFTUP == 1)
LEFTUP_CS12371mSRoutine();
#endif
#if(USE_CS1237_LEFTLOW == 1)
LEFTLOW_CS12371mSRoutine();
#endif
#if(USE_CS1237_RIGHTUP == 1)
RIGHTUP_CS12371mSRoutine();
#endif
#if(USE_CS1237_RIGHTLOW == 1)
RIGHTLOW_CS12371mSRoutine();
#endif
Dcmotor1msRoutine();
}