📄 menue.c
字号:
#include "GLOBAL.H"
/*********************************************************************************
* 名称:line0_menu
* 功能:液晶屏第0行显示,显示参数所属功能组
* 输入:uchar disvalue
* 输出: 无
* 返回:无
***********************************************************************************/
void line0_menu(uchar disvalue)
{
char buff[20];
strcpy(buff," Group ");
sprfu(&buff[10],disvalue,0,2);
display_str(0,0, buff);
}
/*********************************************************************************
* 名称:line2_menu
* 功能:液晶屏第2行显示,显示隔行符“=”
* 输入:无
* 输出: 无
* 返回:无
***********************************************************************************/
void line2_menu(void)
{
display_str(0,2, "================");
}
/*********************************************************************************
* 名称:line4_menu
* 功能:液晶屏第4行显示,显示参数值
* 输入:无
* 输出: 无
* 返回:无
***********************************************************************************/
void line4_menu(uint dis_value)
{
char buff[20];
strcpy(buff,"Para: ");
sprfu(&buff[7],dis_value,0,5);
display_str(0,4,buff);
}
/*********************************************************************************
* 名称:line6_menu
* 功能:液晶屏第6行显示,显示参数对应功能码
* 输入:uchar wMenu
* 输出: 无
* 返回:无
* 备注:
***********************************************************************************/
void line6_menu(uchar wMenu)
{
char buff[20];
strcpy(buff,"Code: []");
switch(wMenu)
{
case 1:
sprfu(&buff[7],Group01[para_ptr],0,5);
break;
case 3:
sprfu(&buff[7],Group03[para_ptr],0,5);
break;
case 4:
sprfu(&buff[7],Group04[para_ptr],0,5);
break;
case 10:
sprfu(&buff[7],Group10[para_ptr],0,5);
break;
case 11:
sprfu(&buff[7],Group11[para_ptr],0,5);
break;
case 12:
sprfu(&buff[7],Group12[para_ptr],0,5);
break;
case 13:
sprfu(&buff[7],Group13[para_ptr],0,5);
break;
case 14:
sprfu(&buff[7],Group14[para_ptr],0,5);
break;
case 15:
sprfu(&buff[7],Group15[para_ptr],0,5);
break;
case 16:
sprfu(&buff[7],Group16[para_ptr],0,5);
break;
case 17:
sprfu(&buff[7],Group17[para_ptr],0,5);
break;
case 20:
sprfu(&buff[7],Group20[para_ptr],0,5);
break;
case 21:
sprfu(&buff[7],Group21[para_ptr],0,5);
break;
case 22:
sprfu(&buff[7],Group22[para_ptr],0,5);
break;
case 25:
sprfu(&buff[7],Group25[para_ptr],0,5);
break;
case 26:
sprfu(&buff[7],Group26[para_ptr],0,5);
break;
case 30:
sprfu(&buff[7],Group30[para_ptr],0,5);
break;
case 31:
sprfu(&buff[7],Group31[para_ptr],0,5);
break;
case 32:
sprfu(&buff[7],Group32[para_ptr],0,5);
break;
case 33:
sprfu(&buff[7],Group33[para_ptr],0,5);
break;
case 34:
sprfu(&buff[7],Group34[para_ptr],0,5);
break;
case 35:
sprfu(&buff[7],Group35[para_ptr],0,5);
break;
case 40:
sprfu(&buff[7],Group40[para_ptr],0,5);
break;
case 41:
sprfu(&buff[7],Group41[para_ptr],0,5);
break;
case 42:
sprfu(&buff[7],Group42[para_ptr],0,5);
break;
case 51:
sprfu(&buff[7],Group51[para_ptr],0,5);
break;
case 53:
sprfu(&buff[7],Group53[para_ptr],0,5);
break;
case 81:
sprfu(&buff[7],Group81[para_ptr],0,5);
break;
case 98:
sprfu(&buff[7],Group98[para_ptr],0,5);
break;
case 99:
sprfu(&buff[7],Group99[para_ptr],0,5);
break;
default:
sprfu(&buff[7],11111,0,5);
break;
}
display_str(0,6,buff);
}
void display_menu(void)
{
char buff[20];
if (menu_ptr == 0) /* 第一层菜单 ----- 状态监视 */
{
set_cursor(0xff,0xff); // 光标不显示
display_str(0,0, " Function Group ");//提示功能组选择
line2_menu();// 隔行
strcpy(buff," []");
sprfu(&buff[3],Para_index[menuptr],0,5);
display_str(0,4,buff);
display_str(0,6, "Modbus RTU Mode ");//提示选用的模式
}
if (menu_ptr == 1) /* 第二层菜单 ----- 参数浏览 */
{
set_cursor(0xff,0xff); // 光标不显示
line0_menu(Para_index[menuptr]); //参数组提示
line2_menu();// 隔行
line4_menu(para_val); // 显示数据
line6_menu(Para_index[menuptr]);//参数组中参数序号
}
if (menu_ptr >= 2) /* 第三层菜单 ----- 参数修改 */
{
line0_menu(Para_index[menuptr]); //参数组提示
line2_menu(); // 隔行
set_cursor(12-bit_ptr,4); // 光标显示
line4_menu(edit_val); // 显示数据
line6_menu(Para_index[menuptr]);//参数组中参数序号
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -