增加自动

This commit is contained in:
sunbeam 2024-01-10 16:48:16 +08:00
parent 3b306b9101
commit 7c19ef8330
6 changed files with 71 additions and 50 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,26 +1,17 @@
QualityReport
2023年12月13日 16:30:17
2024年1月9日 16:52:09
------ Start build(M12, DefaultBuild) ------
E:\Program Files (x86)\renesas\CS+\CC\CC-RL\V1.11.00\Bin\ccrl.exe user\MotorCtrl.c -cpu=S2 -o DefaultBuild\MotorCtrl.obj "-dev=E:\Program Files (x86)\renesas\CS+\CC\Device\RL78\Devicefile\DR5F10268.DVF" -g -g_line -I . -I user -far_rom -c -msg_lang=english
E:\Program Files (x86)\renesas\CS+\CC\CC-RL\V1.11.00\Bin\ccrl.exe r_cg_timer_user.c -cpu=S2 -o DefaultBuild\r_cg_timer_user.obj "-dev=E:\Program Files (x86)\renesas\CS+\CC\Device\RL78\Devicefile\DR5F10268.DVF" -g -g_line -I . -I user -far_rom -c -msg_lang=english
E:\Program Files (x86)\renesas\CS+\CC\CC-RL\V1.11.00\Bin\ccrl.exe r_cg_serial_user.c -cpu=S2 -o DefaultBuild\r_cg_serial_user.obj "-dev=E:\Program Files (x86)\renesas\CS+\CC\Device\RL78\Devicefile\DR5F10268.DVF" -g -g_line -I . -I user -far_rom -c -msg_lang=english
E:\Program Files (x86)\renesas\CS+\CC\CC-RL\V1.11.00\Bin\ccrl.exe user\appTask.c -cpu=S2 -o DefaultBuild\appTask.obj "-dev=E:\Program Files (x86)\renesas\CS+\CC\Device\RL78\Devicefile\DR5F10268.DVF" -g -g_line -I . -I user -far_rom -c -msg_lang=english
E:\Program Files (x86)\renesas\CS+\CC\CC-RL\V1.11.00\Bin\ccrl.exe r_main.c -cpu=S2 -o DefaultBuild\r_main.obj "-dev=E:\Program Files (x86)\renesas\CS+\CC\Device\RL78\Devicefile\DR5F10268.DVF" -g -g_line -I . -I user -far_rom -c -msg_lang=english
user\MotorCtrl.c(181):W0520177:Variable "wait2" was declared but never referenced
user\MotorCtrl.c(181):W0520177:Variable "wait3" was declared but never referenced
user\MotorCtrl.c(328):W0520177:Variable "i" was declared but never referenced
user\MotorCtrl.c(399):W0520177:Variable "OC_Count2" was declared but never referenced
user\MotorCtrl.c(399):W0520177:Variable "OC_Count3" was declared but never referenced
user\appTask.c(80):W0520177:Variable "keep_count" was declared but never referenced
user\appTask.c(81):W0520177:Variable "i" was declared but never referenced
user\appTask.c(133):W0520177:Variable "ledno" was declared but never referenced
user\appTask.c(133):W0520177:Variable "last" was declared but never referenced
user\appTask.c(149):W0520177:Variable "ledno" was declared but never referenced
user\appTask.c(149):W0520177:Variable "last" was declared but never referenced
E:\Program Files (x86)\renesas\CS+\CC\CC-RL\V1.11.00\Bin\rlink.exe -subcommand=DefaultBuild\M12.clnk
W0561017:The evaluation period of CC-RL V1 has expired. Please consider purchasing the product.
W0561017:The evaluation period of CC-RL V1 has expired. Please consider purchasing the product.
Renesas Optimizing Linker Completed
------ Build ended(Error:0, Warning:11)(M12, DefaultBuild) ------
------ Build ended(Error:0, Warning:6)(M12, DefaultBuild) ------
--- CommandFile 1 ---
DefaultBuild\M12.clnk :
@ -72,8 +63,8 @@ DefaultBuild\M12.clnk :
--- SHA1 hash value of output files ---
F:\FCB_project\temp\M12\k67\DefaultBuild\M12.abs: 0b3b2c8ca3a390d51c0b9a289b56d7ce91acdf0e
F:\FCB_project\temp\M12\k67\DefaultBuild\M12.mot: 0a2bd8b1ea60b4d3e43658e5b94ad7066f83624c
F:\FCB_project\temp\M12\k67\DefaultBuild\M12.abs: bb5ed562599dd7d737b526f6bfe8f5bf91273db8
F:\FCB_project\temp\M12\k67\DefaultBuild\M12.mot: a9662f7f1b8e4c50f3dde3a91e5ed12b45438b9d
--- System Information ---
@ -101,13 +92,13 @@ F:\FCB_project\temp\M12\k67\DefaultBuild\M12.mot: 0a2bd8b1ea60b4d3e43658e5b94ad7
E:\Program Files (x86)\renesas\CS+\CC
*Memory Usage
*Private Working Set
317 MB
269 MB
*Number of GDI Objects
2105
1973
*Number of USER Objects
1055
1092
*Opened Files
3 editors, 3 files, 20 KB
3 editors, 3 files, 21 KB
--- Build Tool Plug-in Information ---
RH850 Build tool CC-RH Plug-in

View File

@ -125,6 +125,10 @@ void MotorValueInit(void)
{
MotorHallLoc[i] = 0x8000;
MotorErr[i] = 0;
MotorHardStop1[i] = 0;
MotorHardStop2[i] = 0;
}
//ReadMotorMemory();
}
@ -138,6 +142,16 @@ void setMotorState(uint8_t motorid,uint8_t act)
}
}
uint16_t MotorTarget[6] = {0};
void setMotorAutoXQ(void)
{
MotorTarget[0] = MotorHardStop1[0] - 2500;
}
void setMotorAutoXH(void)
{
MotorTarget[0] = MotorHardStop1[0] - 10;
}
void setMotorTarget(uint8_t motorid,uint16_t target)
{
@ -334,11 +348,11 @@ void MotorCtrl(void)//10ms
OC1flag = 0;
if (MotorState[0] == ACT_XQ)
{
MotorHardStop1[0] = MotorHallLoc[0];
MotorHardStop1[0] = MotorHallLoc[0];//后停止点
}
else if (MotorState[0] == ACT_XH)
{
MotorHardStop2[0] = MotorHallLoc[0];
MotorHardStop2[0] = MotorHallLoc[0];//前停止点
}
MotorState[MOTOR1] = ACT_NOACT;
}
@ -346,9 +360,9 @@ void MotorCtrl(void)//10ms
MotorStateReal[0] = MotorState[0];
if (MotorState[0] == ACT_NOACT && MotorHardStop1[0] != 0 && MotorHardStop2[0] != 0 )
if (MotorState[0] == ACT_NOACT && MotorHardStop1[0] != 0 )//&& MotorHardStop2[0] != 0
{
if (MotorTarget[0]!=0 && MotorHardStop1[0] > MotorTarget[0] && MotorTarget[0] > MotorHardStop2[0])
if (MotorTarget[0]!=0 && MotorHardStop1[0] > MotorTarget[0] )//&& MotorTarget[0] > MotorHardStop2[0]
{
if (MotorTarget[0] > MotorHallLoc[0]+10)
{
@ -375,9 +389,7 @@ void MotorCtrl(void)//10ms
{
MotorStateReal[0] = ACT_NOACT;
}
}
else
{
MotorTarget[0] = 0;

View File

@ -23,7 +23,7 @@ void StopAutoCal(void);
void setMotorState(uint8_t motorid,uint8_t act);
void setMotorAutoXQ(void);
void setMotorAutoXH(void);
#endif

View File

@ -71,56 +71,72 @@ void keyLogicRelease(uint8_t keyno)
}
}
#define KEY_DELAY_TIME 10
#define KEY_DELAY_TIME_30ms 10
#define KEY_DELAY_TIME_200ms 60
void keyScan(void)//5ms
{
static uint16_t keydelay[9]={0,0,0,0,0,0,0,0,0};
static uint8_t keyflag[9]={0,0,0,0,0,0,0,0,0};
static uint8_t keep_count[9]={0,0,0,0,0,0,0,0,0};
uint8_t keyval,i;
//向后
keyval = GetIOState(SIGID_KEY1);
if (keyval == 1 && keyflag[KEY1] == 0)
if (keyval == 1 )//&& keyflag[KEY1] == 0
{
keydelay[KEY1]++;
if (keydelay[KEY1] > KEY_DELAY_TIME)//30ms
if (keydelay[KEY1] > KEY_DELAY_TIME_30ms)//30ms
{
keyflag[KEY1] = 1;
keydelay[KEY1] = KEY_DELAY_TIME;
keyLogic(KEY1);
}
if (keydelay[KEY1] > KEY_DELAY_TIME_200ms)//200ms
{
keyflag[KEY1] = 1;
keydelay[KEY1] = KEY_DELAY_TIME_200ms;
setMotorState(0,ACT_XQ);
}
}
else if (keyval == 0)
{
if (keyflag[KEY1] == 1)
if (keyflag[KEY1] == 1 && keydelay[KEY1] < KEY_DELAY_TIME_200ms)
{
keyLogicRelease(KEY1);
//自动
setMotorAutoXH();
}
if (keyflag[KEY1] == 1 && keydelay[KEY1] >= KEY_DELAY_TIME_200ms)
{
setMotorState(0,ACT_NOACT);
}
keyflag[KEY1] = 0;
keydelay[KEY1] = 0;
}
//向前
keyval = GetIOState(SIGID_KEY2);
if (keyval == 1 && keyflag[KEY2] == 0)
if (keyval == 1 )//&& keyflag[KEY2] == 0
{
keydelay[KEY2]++;
if (keydelay[KEY2] > KEY_DELAY_TIME)//30ms
if (keydelay[KEY2] > KEY_DELAY_TIME_30ms)//30ms
{
keyflag[KEY2] = 1;
keydelay[KEY2] = KEY_DELAY_TIME;
keyLogic(KEY2);
}
if (keydelay[KEY2] > KEY_DELAY_TIME_200ms)//200ms
{
keyflag[KEY2] = 1;
keydelay[KEY2] = KEY_DELAY_TIME_200ms;
setMotorState(0,ACT_XH);
}
}
else if (keyval == 0)
{
if (keyflag[KEY2] == 1)
if (keyflag[KEY2] == 1 && keydelay[KEY2] < KEY_DELAY_TIME_200ms)
{
keyLogicRelease(KEY2);
//自动
setMotorAutoXQ();
}
if (keyflag[KEY2] == 1 && keydelay[KEY2] >= KEY_DELAY_TIME_200ms)
{
setMotorState(0,ACT_NOACT);
}
keyflag[KEY2] = 0;
keydelay[KEY2] = 0;

View File

@ -11,6 +11,8 @@
#define ACT_XH 2
uint8_t GetIOState(uint8_t sigid);
void MOTOR1Ctrl(uint8_t act);
uint16_t getAdval(uint8_t ch);