📄 key.h
字号:
///////////////////////////////////////key board//////////////////////////
/////////////////////////////键盘函数模块/////////////////////////////////////////
//分三个部分,数字键部分,小数点,方向键部分,功能键(ok)部分。可以在不同的页面调//
//用相应的功能实现菜单操作。 //
//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////方向键部分/////////////////////////////////////
//无返回值,无输入参数,用到全局变量page_number,xposition,yposition,scroll_value//
//////////////////////////////////////////////////////////////////////////////////
void key_up()
{
if(page_number==0) //开机画面页面
{
page_number=1;
scroll_value=0;
xposition=1; //坐标位置指向左边功能项
yposition=2;
display_page(page_number,scroll_value,1);
}
else if(page_number==1)//功能选择页面
{
if(scroll_value>0)
{
xposition=1;//坐标位置指向左边功能项
yposition=2;
scroll_value--; //向上移动滚动条翻动功能页面
display_page(page_number,scroll_value,1);
}
}
else//各功能页面(各功能页面的编辑坐标位置不同,操作也不同)
{
if(page_number==2) //可在此添加方向键对各功能页面的操作
{
if(xposition>0)
{
xposition--;
}
}
else if(page_number==3)
{
if(wave_amp>5)
{
wave_amp--;
}
wave_display();
}
else
{}
}
}
void key_down()
{
if(page_number==0)//开机画面页面
{
page_number=1;
scroll_value=0;
xposition=1;//坐标位置指向左边功能项
yposition=2;
display_page(page_number,scroll_value,1);
}
else if(page_number==1)//功能选择页面
{
if(scroll_value<1)
{
xposition=1;//坐标位置指向左边功能项
yposition=2;
scroll_value++;//向下移动滚动条翻动功能页面
display_page(page_number,scroll_value,1);
}
}
else//各功能页面(各功能页面的编辑坐标位置不同,操作也不同)
{
if(page_number==2) //可在此添加方向键对各功能页面的操作
{
if(xposition<3)
{
xposition++;
}
}
else if(page_number==3)
{
wave_amp++;
wave_display();
}
else
{}
}
}
void key_left()
{
if(page_number==0)//开机画面页面
{
page_number=1;
scroll_value=0;
xposition=1;
yposition=2;
display_page(page_number,scroll_value,1);
}
else if(page_number==1)//功能选择页面
{
xposition=1; //选择左边功能选项
yposition=2;
display_page(page_number,scroll_value,1);//左边功能选项反色显示
}
else//各功能页面(各功能页面的编辑坐标位置不同,操作也不同)
{
//对不同功能页面分别执行的操作
if(page_number==2)//可在此添加方向键对各功能页面的操作
{
if(yposition==5 && xposition>0)
{
yposition=7;
xposition--;
}
else if(yposition>5)
{
yposition--;
clear_key_buffer(xposition);//use for back space
display_output_word(xposition*2,32,back_space,2,1);
if(yposition==7) //not select back
{
display_output_word(6,64,back,2,1);
}
}
else{}
}
else if(page_number==3)
{
//add wave display function here
if(wave_move>10)
{
wave_move-=10;
}
else if(wave_move<=10)
{
wave_move=0;
}
else{}
wave_display();
}
else{}
}
}
void key_right()
{
if(page_number==0)//开机画面页面
{
page_number=1;
scroll_value=0;
xposition=1;
yposition=2;
display_page(page_number,scroll_value,1);
}
else if(page_number==1)//功能选择页面
{
xposition=1;//选择右边功能选项
yposition=8;
display_page(page_number,scroll_value,0);//右边功能选项反色显示
}
else//各功能页面(各功能页面的编辑坐标位置不同,操作也不同)
{
if(page_number==2)//可在此添加方向键对各功能页面的操作
{
if(yposition==7 && xposition<3)
{
yposition=5;
xposition++;
}
else if(yposition<8)
{
yposition++;
if(yposition==8) //select back
{
display_output_word(6,64,back,2,0);
}
}
else{}
}
else if(page_number==3)
{
//add wave display function here
wave_move+=10;
wave_display();
}
else
{}
}
}
//////////////////////////////////功能键(ok)部分//////////////////////////////////////
//无返回值,无输入参数,用到全局变量page_number,xposition,yposition,scroll_value //
//用于选择功能,实现菜单操作。使用时在相应页面,相应层次内,添加相应功能函数.确定 //
//键操作过程如下所述。在功能选择页面(page_number=1)由方向键选择相应功能,按确定键即可/
//显示相应功能页面。各功能页面都包括确定和返回选项,功能页面显示后,光标位置默认指向//
//确定选项。由方向键移动光标编辑参数,选定确定选项,开始执行相应功能。 //
//////////////////////////////////////////////////////////////////////////////////////
void key_ok()
{
if(page_number==0) //开机画面页
{
page_number=1;
scroll_value=0;
xposition=1;
yposition=2;
display_page(page_number,scroll_value,1);
} //可以在此添加层次,并添加功能窗口显示
else if(page_number==1) //功能选择页面。在此页面内按确定键则显示相应功能窗口
{
if(scroll_value==0) //功能选择页面第0层
{
if(xposition==1 && yposition==2)//功能选择页面第0层左边功能选择
{
page_number=2;
xposition=0;//光标位置指向确定
yposition=5;
display_page(page_number,0,0);
}
else if(xposition==1 && yposition==8)//功能选择页面第0层右边功能选择
{
page_number=3;
xposition=0;//光标位置指向确定
yposition=0;
display_page(page_number,0,0);
//add wave display function here
wave_num=0;
wave_move=0;
wave_display();
}
else
{}
}
else if(scroll_value==1) //功能选择页面第1层
{
if(xposition==1 && (yposition==2||yposition==8))//功能选择页面第1层左边功能选择
{
page_number=4;
xposition=0;//光标位置指向确定
yposition=0;
display_page(page_number,0,0);
delay600ms();
delay600ms();
//add serise function here
serise();
}
else
{}
}
else{}
}
else if(page_number==2)
{
if(yposition==8 && xposition==3) //back
{
page_number=1;
scroll_value=0;
xposition=1;
yposition=2;
display_page(page_number,scroll_value,1);
}
else
{
//add set parameter function here
read_key_buffer(0,&voltage_value);
read_key_buffer(1,¤t_value);
read_key_buffer(2,&phase_value);
read_key_buffer(3,&wave_value);
//use for input parameter error
if(voltage_value>255 || current_value>500 || phase_value>360)
{
display_clear(0,40,7,64);
clear_key_buffer(0);
clear_key_buffer(1);
clear_key_buffer(2);
clear_key_buffer(3);
return;
}
//start set parameter
display_output_word(0,96,vol_wait,11,1);
if(set_voltage()) //set_voltage() 成功返回1不成功返回0
{
delay600ms();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -