📄 track.c
字号:
#include "spce061v004.h"
#include "main.h"
extern int SysStatus;
extern int PositionX,PositionY;
extern int TimeN,TimePoint,TimeL[200],TimeR[200]; //下一步移动量
extern int Running; //0:未开始运动;1:开始运动,但未完成一格运动;2:完成一格运动
extern int TimeCountL,TimeCountR;
//=========================================================================================
//自定轨迹窗口
//=========================================================================================
void TrackPage(void)
{
unsigned int HZCode[10]={0xC9E8,0xB6A8,0xB9EC,0xBCA3,
0x2020,0x2020,0x2020,0x2020,0x2020,0x2020}; //为液晶行赋初值
int *TrackX1Table,*TrackY1Table,*TrackX2Table,*TrackY2Table;
int i;
LCDWriteLine(1,HZCode);
HZCode[0]=0x2020;HZCode[1]=0x2020;HZCode[2]=0x2020;HZCode[3]=0x2020;
HZCode[4]=0x2020;HZCode[5]=0x2020;HZCode[6]=0x2020;HZCode[7]=0x2020;
LCDWriteLine(2,HZCode);
LCDWriteLine(3,HZCode);
SysStatus=SYS_ST_TRACK;
TrackX2Table=ReadTrackXAddr(1);
TrackY2Table=ReadTrackYAddr(1);
TimeL[0]=LTime(PositionX*10,PositionX*10,*TrackX2Table,*TrackY2Table);
TimeR[0]=RTime(PositionX*10,PositionX*10,*TrackX2Table,*TrackY2Table);
for(i=0;i<75;i++)
{
TrackX1Table=ReadTrackXAddr(1)+i;
TrackY1Table=ReadTrackYAddr(1)+i;
TrackX2Table=ReadTrackXAddr(1)+i+1;
TrackY2Table=ReadTrackYAddr(1)+i+1;
TimeL[i+1]=LTime(*TrackX1Table,*TrackY1Table,*TrackX2Table,*TrackY2Table);
TimeR[i+1]=RTime(*TrackX1Table,*TrackY1Table,*TrackX2Table,*TrackY2Table);
}
TimeN=75;
TimePoint=0;
Running=1;
TimeCountL=0;TimeCountR=0;
}
//=========================================================================================
//
//=========================================================================================
void Track(int key)
{
switch(key)
{
case 0x000e: //up
break;
case 0x000d: //up
break;
case 0x0006:
case 0x0007: //exit
if(Running==0)
{
OpenMenu(1,1); //返回菜单页1
SysStatus=SYS_ST_MENU;
}
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -