📄 nedu_drive_tch.c
字号:
if(x>50&&x<80)
{
OS_ENTER_CRITICAL();
Sub_Mode = TCH_K_6; //6
OS_EXIT_CRITICAL();
}
if(x>80&&x<110)
{
OS_ENTER_CRITICAL();
Sub_Mode = TCH_K_7; //7
OS_EXIT_CRITICAL();
}
if(x>110&&x<140)
{
OS_ENTER_CRITICAL();
Sub_Mode = TCH_K_8; //8
OS_EXIT_CRITICAL();
}
if(x>140&&x<170)
{
OS_ENTER_CRITICAL();
Sub_Mode = TCH_K_9; //9
OS_EXIT_CRITICAL();
}
if(x>170&&x<200)
{
OS_ENTER_CRITICAL();
Sub_Mode = TCH_K_0; //0
OS_EXIT_CRITICAL();
}
}
Uart_Printf("\nSetRTCXY:x=%d\ty=%d\tKey=0x%x\tState=%d",x,y,Sub_Mode,state);
//OSTimeDly(500);
//}
return;
}
/*
**********************************************************************************************************************
* GETSETRECXY
*
* 作者:邹海英
*
* 时间:2007年7月9日
*
* 描述:确定显示系统日历子状态机坐标。
*
* 修改: (0709)去掉局部变量x,y.直接用GetTCHXY赋的值
*
* 参数:无
*
* 返回值:无
*
***********************************************************************************************************************
*/
void GetSETRECXY(void)
{
OS_CPU_SR cpu_sr;
//int x,y;
//while(state != NORMAL)
//{
//TchScr_GetOSXY(&x, &y);
if(x>12 && x<35)
{
if(y>140 && y<162)
{ //用户敲击触摸屏上的“1”
OS_ENTER_CRITICAL(); //关中断
Sub_Mode = TCH_K_1; //赋值子模式
OS_EXIT_CRITICAL(); //开中断
}
else if(y>162 && y<185)
{ //用户敲击触摸屏上的"Q"
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_Q;
OS_EXIT_CRITICAL(); //开中断
}
else if(y>185 && y<208)
{ //用户敲击触摸屏上的A
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_A;
OS_EXIT_CRITICAL(); //开中断
}
else if(y>208 && y<232)
{ //用户敲击触摸屏上的Z
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_Z;
OS_EXIT_CRITICAL(); //开中断
}
}
else if(x>35 && x<58)
{
if(y>140 && y<162)
{ //用户敲击触摸屏上的2
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_2;
OS_EXIT_CRITICAL(); //开中断
}
else if(y>162 && y<185)
{ //用户敲击触摸屏上的W
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_W;
OS_EXIT_CRITICAL(); //开中断
}
else if(y>185 && y<208)
{ //用户敲击触摸屏上的S
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_S;
OS_EXIT_CRITICAL(); //开中断
}
else if(y>208 && y<232)
{ //用户敲击触摸屏上的X
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_X;
OS_EXIT_CRITICAL(); //开中断
}
}
else if(x>58 && x<81)
{
if(y>140 && y<162)
{ //用户敲击触摸屏上的3
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_3;
OS_EXIT_CRITICAL(); //开中断
}
else if(y>162 && y<185)
{ //用户敲击触摸屏上的E
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_E;
OS_EXIT_CRITICAL(); //开中断
}
else if(y>185 && y<208)
{ //用户敲击触摸屏上的D
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_D;
OS_EXIT_CRITICAL(); //开中断
}
else if(y>208 && y<232)
{ //用户敲击触摸屏上的C
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_C;
OS_EXIT_CRITICAL(); //开中断
}
}
else if(x>81 && x<105)
{
if(y>140 && y<162)
{ //用户敲击触摸屏上的4
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_4;
OS_EXIT_CRITICAL(); //开中断
}
else if(y>162 && y<185)
{ //用户敲击触摸屏上的R
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_R;
OS_EXIT_CRITICAL(); //开中断
}
else if(y>185 && y<208)
{ //用户敲击触摸屏上的F
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_F;
OS_EXIT_CRITICAL();//开中断
}
else if(y>208 && y<232)
{ //用户敲击触摸屏上的V
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_V;
OS_EXIT_CRITICAL();//开中断
}
}
else if(x>105 && x<130)
{
if(y>140 && y<162)
{ //用户敲击触摸屏上的5
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_5;
OS_EXIT_CRITICAL();//开中断
}
else if(y>162 && y<185)
{ //用户敲击触摸屏上的T
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_T;
OS_EXIT_CRITICAL();//开中断
}
else if(y>185 && y<208)
{ //用户敲击触摸屏上的G
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_G;
OS_EXIT_CRITICAL();//开中断
}
else if(y>208 && y<232)
{ //用户敲击触摸屏上的B
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_B;
OS_EXIT_CRITICAL();//开中断
}
}
else if(x>130 && x<154)
{
if(y>140 && y<162)
{ //用户敲击触摸屏上的6
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_6;
OS_EXIT_CRITICAL();//开中断
}
else if(y>162 && y<185)
{ //用户敲击触摸屏上的Y
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_Y;
OS_EXIT_CRITICAL();//开中断
}
else if(y>185 && y<208)
{ //用户敲击触摸屏上的H
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_H;
OS_EXIT_CRITICAL();//开中断
}
else if(y>208 && y<232)
{ //用户敲击触摸屏上的N
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_N;
OS_EXIT_CRITICAL();//开中断
}
}
else if(x>154 && x<178)
{
if(y>140 && y<162)
{ //用户敲击触摸屏上的7
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_7;
OS_EXIT_CRITICAL();//开中断
}
else if(y>162 && y<185)
{ //用户敲击触摸屏上的U
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_U;
OS_EXIT_CRITICAL();//开中断
}
else if(y>185 && y<208)
{ //用户敲击触摸屏上的J
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_J;
OS_EXIT_CRITICAL();//开中断
}
else if(y>208 && y<232)
{ //用户敲击触摸屏上的M
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_M;
OS_EXIT_CRITICAL();//开中断
}
}
else if(x>178 && x<202)
{
if(y>140 && y<162)
{ //用户敲击触摸屏上的8
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_8;
OS_EXIT_CRITICAL();//开中断
}
else if(y>162 && y<185)
{ //用户敲击触摸屏上的I
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_I;
OS_EXIT_CRITICAL();//开中断
}
else if(y>185 && y<208)
{ //用户敲击触摸屏上的K
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_K;
OS_EXIT_CRITICAL();//开中断
}
else if(y>208 && y<232)
{ //用户敲击触摸屏上的 ,
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_COMA;
OS_EXIT_CRITICAL(); //开中断
}
}
else if(x>202 && x<226)
{
if(y>140 && y<162)
{ //用户敲击触摸屏上的9
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_9;
OS_EXIT_CRITICAL();//开中断
}
else if(y>162 && y<185)
{ //用户敲击触摸屏上的O
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_O;
OS_EXIT_CRITICAL();//开中断
}
else if(y>185 && y<208)
{ //用户敲击触摸屏上的L
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_L;
OS_EXIT_CRITICAL();//开中断
}
else if(y>208 && y<232)
{ //用户敲击触摸屏上的.
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_DOT;
OS_EXIT_CRITICAL();//开中断
}
}
else if(x>226 && x<250)
{
if(y>140 && y<162)
{ //用户敲击触摸屏上的0
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_0;
OS_EXIT_CRITICAL();//开中断
}
else if(y>162 && y<185)
{ //用户敲击触摸屏上的P
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_P;
OS_EXIT_CRITICAL();//开中断
}
else if(y>185 && y<208)
{ //用户敲击触摸屏上的=
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_EQU;
OS_EXIT_CRITICAL();//开中断
}
else if(y>208 && y<232)
{ //用户敲击触摸屏上的@
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_AT;
OS_EXIT_CRITICAL();//开中断
}
}
else if(x>250 && x<273)
{
if(y>140 && y<162)
{ //用户敲击触摸屏上的+
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_PLUS;
OS_EXIT_CRITICAL();//开中断
}
else if(y>162 && y<185)
{ //用户敲击触摸屏上的-
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_MINUS;
OS_EXIT_CRITICAL();//开中断
}
else if(y>185 && y<208)
{ //用户敲击触摸屏上的*
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_STAR;
OS_EXIT_CRITICAL();//开中断
}
else if(y>208 && y<232)
{ //用户敲击触摸屏上的 /
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_SLASH;
OS_EXIT_CRITICAL();//开中断
}
}
else if(x>273 && x<320)
{
if(y>140 && y<162)
{ //用户敲击触摸屏上的Esc
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_Esc;
OS_EXIT_CRITICAL(); //开中断
return;
}
else if(y>162 && y<185)
{ // 用户敲击触摸屏上的DEL
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_Del;
OS_EXIT_CRITICAL(); //开中断
}
else if(y>185 && y<208)
{ //用户敲击触摸屏上的Enter
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_ENTER;
OS_EXIT_CRITICAL();//开中断
}
else if(y>208 && y<232)
{ // 用户敲击触摸屏上的Sft
OS_ENTER_CRITICAL();//关中断
Sub_Mode = TCH_K_Sft;
OS_EXIT_CRITICAL();//开中断
}
}
//1122
if(x>60&&x<280)
{
if(y>40&&y<60)
{
OS_ENTER_CRITICAL(); //关中断
Sub_Mode = TCH_K_Line1;//赋值子模式
OS_EXIT_CRITICAL(); //开中断
}
else if(y>60&& y<82)
{
OS_ENTER_CRITICAL(); //关中断
Sub_Mode = TCH_K_Line2; //赋值子模式
OS_EXIT_CRITICAL(); //开中断
}
else if(y>82&&y<105)
{
OS_ENTER_CRITICAL(); //关中断
Sub_Mode = TCH_K_Line3; //赋值子模式
OS_EXIT_CRITICAL(); //开中断
}
else if(y>105&&y<125)
{
OS_ENTER_CRITICAL(); //关中断
Sub_Mode = TCH_K_Line4;//赋值子模式
OS_EXIT_CRITICAL(); //开中断
}
} //2211
Uart_Printf("\nSetRECXY:x=%d\ty=%d\tKey=0x%x\tState=%d",x,y,Sub_Mode,state);
//OSTimeDly(500);
//}
return;
}
//end of nedu_drive_tch
/*
**********************************************************************************************************************
* GetTCHXY
*
* 作者:胡仲华 曹攀
*
* 时间:2007年7月7日
*
* 描述:得到接触屏的x,y.判断state状态并处理
*
* 参数:无
*
* 返回值:无
*
***********************************************************************************************************************
*/
void GetTCHXY(void)
{
OS_CPU_SR cpu_sr;
U32 k1;
//int x,y;
TchScr_GetOSXY(&x,&y);
switch(state)
{
case NORMAL: //正常状态
k1=GetMainXY();
//OSTimeDly(200);
OS_ENTER_CRITICAL();
state = (U8)k1;
OS_EXIT_CRITICAL();
break;
case DISTIME: //显示时间状态
GetTimeXY();
break;
case DISDATE: //显示日期
GetDateXY();
break;
case DISREC: //显示记录状态
GetRECXY();
break;
case SETREC: //添加记录状态
GetSETRECXY();
break;
case SETRTC: //查看日历状态
GetSETRTCXY();
break;
case NOREC: //无记录状态
GetNoRecordXY();
break;
default:
break;
//OS_ENTER_CRITICAL();
//state = NORMAL;
//OS_EXIT_CRITICAL();
Uart_Printf("\n State %d",state);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -