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

📄 readme.txt

📁 AVR单片机的菜单制作工具
💻 TXT
字号:
#ifndef _MENUGUI_INCLUDED_
#define _MENUGUI_INCLUDED_

//#include "MenuGlobal.h"
//#include "Menu.h"

//#define LCD_SET_CGRAM   0B01000000   

INT8U mBetteryStat;
INT8U mBandRate;
INT8U mComSetting;

extern void WriteCGRAM(INT8U Text, INT8U DDRAM, INT8U Reverse);
extern void ChooseRadioMenu(INT8U ParamCaptionID, INT8U MenuDefineID, INT8U *Value);
extern void GetInput(INT8U ParamCaptionID, INT8U ValueCaptionID, INT16U *Value);

/*******************************************************************************************************
** 函数名称: LCD_InitCGRAM
** 功能描述: 往LCD的CGRAM中写入特殊字符图形
** 输入参数: 无
** 输出参数: 无
********************************************************************************************************/
void LCD_InitCGRAM(void)
{
    WriteCGRAM(0x80,0,0);     // 写入特殊字符 
    WriteCGRAM(0x81,4,0);     // 写入特殊字符  
    WriteCGRAM(0x82,1,0);
    WriteCGRAM(0x83,2,0);
    WriteCGRAM(0x84,3,0);
}

/*******************************************************************************************************
** 函数名称: ExecuteMenu
** 功能描述: 菜单显示程序,每 100 mS 调用一次即可
** 输入参数: 无
** 输出参数: 无
********************************************************************************************************/
void ExecuteMenu(void)
{
    static char Temp;

    if (MenuID == MN_STAT_BATTERY0)
    {
        //ReadBatterySTAT(BATTERY0);
        MENU_Status |= STATUS_TEXT;
        MENU_Status &= ~STATUS_MAINMENU;
    }                  
    else if (MenuID == MN_STAT_BATTERY1)
    {
        //ReadBatterySTAT(BATTERY1);
        MENU_Status |= STATUS_TEXT;
        MENU_Status &= ~STATUS_MAINMENU;
    }                  
    else if (MenuID == MN_STAT_BATTERY_BOTH)
    {
        //ReadBatterySTAT(BATTERY_BOTH);
        MENU_Status |= STATUS_TEXT;
        MENU_Status &= ~STATUS_MAINMENU;
    }       
    
    if (MENU_Status & STATUS_MAINMENU) 
    {
        MenuID = 0; 
    }
    else if (MENU_Status & STATUS_TEXT) 
    {
        if (Key != NO_KEY)
        {
            Key = NO_KEY;
            MenuID = 0;
            MENU_Status &= ~STATUS_TEXT;
            MENU_Status |= STATUS_UPDATEMAINMENU;
            MENU_Status |= STATUS_MAINMENU;
        }
    }	
}

/*******************************************************************************************************
** 函数名称: ShowMenu
** 功能描述: 菜单显示程序,每 100 mS 调用一次即可
** 输入参数: 无
** 输出参数: 无
********************************************************************************************************/
void ShowMenu(void)
{
  INT16U TestValue=12345;
  INT8U  TestRadio=1;

    if(MENU_Status & STATUS_MENUINIT)
    {
        MENU_Status &= ~STATUS_MENUINIT;  // 清第一次标志 
        MENU_Status |= STATUS_UPDATEMAINMENU;
        MENU_pMenu = Menu;  
        MENU_pDefine = SubMenuDefine;
        MENU_MenuCount = SubMenuDefine[1]; 
        //lcd_cls();  //清屏
        LCD_InitCGRAM();
    }

    if (MENU_Status & STATUS_MAINMENU)
    {
        ShowMainMenu();
    }
    else if (MENU_Status & STATUS_RADIOMENU)
    {

        if (MenuID == MN_BAUDRATE)
        {
            ChooseRadioMenu(MenuID, SD_BAUDRATE, &TestRadio);
        }
        else if (MenuID == MN_HARDFLOW)
        {
            ChooseRadioMenu(MenuID, SD_HARDFLOW, &TestRadio);
        }
        else
        {
			      MENU_Status &= ~STATUS_RADIOMENU;
			      MENU_Status |= STATUS_MAINMENU;
			      MENU_Status |= STATUS_UPDATEMAINMENU;
        }
    }   		
    else if (MENU_Status & STATUS_INPUT)
    {

        if (MenuID == MN_F2_BAT0)
        {
            GetInput(MenuID, 0, &TestValue);
        }
        else
        {
			      MENU_Status &= ~STATUS_INPUT;
			      MENU_Status |= STATUS_MAINMENU;
			      MENU_Status |= STATUS_UPDATEMAINMENU;
        }
    }   		
}

#endif
/********************************************************************************************************
**                                 END OF FILE
********************************************************************************************************/

⌨️ 快捷键说明

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