⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menumain.c

📁 Atmega64单片机程序(完整工程)
💻 C
字号:
/******************************************************************************
 * MenuMain.C - 菜单主循环函数
 ******************************************************************************/
#include "SYS_Config.h"
#include "GUI.h"
#include "Menu.H"
#include "time.h"

/*
*****************************************************************************
* MenuMainLoop - 菜单主循环
* DESCRIPTION: -
* Main函数调用该函数,本函数并不会返回
* @Para void:
* Return :
*****************************************************************************
*/
void MenuMainLoop(void)
{
    DispMenuTop();
    while(1)
	{
        if(CheckKey())
		{//检查菜单
            GUI_Delay(50);//无有效按键输入的时候才执行
        }
        if(!KeyFuncIndex)//待机界面代码,用来显示时钟
		{    //KeyFuncIndex为0时是待机界面
		    #if DATE_TIME_EN==1
		        GUI_Display_Time(20,30);  //待机界面代码,用来显示时钟
			    GUI_Delay(50);
			#endif
        }
		else
		{

        }
    }
}
/*
如何实现中断中使用LCD?
1.中断发送消息,在上面的循环当中不断检查消息,根据消息显示。比如充电器插入后,发送了消息,
那么即便是我们原本已经在了某层菜单,当我们检查到消息后,我们PUSH当前菜单,根据消息显示提
示,而后POP,回到原来菜单。但是若是我原来已经在消息编辑状态,它又是如何工作?似乎不行
2.有显示缓冲区,中断时去使用液晶不修改缓冲区,结束后重新显示缓冲
2006/08/20  依然认为应当的实现方式是1的方法,通常在有OS的环境下,可以通过消息传递,而显示
仅仅在一个任务当中
3.2006/10/16 另外的方法是窗口切换:1。在内存中有两个显存缓冲,切换缓冲到液晶。2。利用LCD内
部自带的显存,切换显示开始地址(前提是LCD缓存足够做两个显存)
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -