menu.c

来自「C8051ucos源码」· C语言 代码 · 共 53 行

C
53
字号

#include "menu.h"
//缓存管理函数

#if MENU_MEMORY_LENGHT > 0

unsigned char MENU_MEMORY[MENU_MEMORY_LENGHT];

//----------------------------------------------------
void GetMenuMem(unsigned char *p,unsigned char startLocation,unsigned char len)
{
unsigned char i;
if(startLocation+len<MENU_MEMORY_LENGHT)for(i=0;i<len;i++)p[i]=MENU_MEMORY[i+startLocation];
}
//----------------------------------------------------
void PutMenuMem(unsigned char *p,unsigned char startLocation,unsigned char len)
{
unsigned char i;
if(startLocation+len<MENU_MEMORY_LENGHT)for(i=0;i<len;i++)MENU_MEMORY[i+startLocation]=p[i];
}
//----------------------------------------------------
void ClearMenuMem(void)
{
unsigned char i;
for(i=0;i<MENU_MEMORY_LENGHT;i++)MENU_MEMORY[i]=0;
}
#endif
//------------------------------------------------------------------------------------------------------------------------------------------------------------

struct  
{
void(*incept)(unsigned char *pBuf);
void(*refurbish)(void);
}MENU;

void MenuSet(void(*refurbish)(void),void(*incept)(unsigned char *pBuf))
{
MENU.refurbish=refurbish;
MENU.incept=incept;
}
void MenuScan(void)
{
if(MENU.refurbish!=0)MENU.refurbish();
}

void MenuIncept(unsigned char *pBuf)
{
if(MENU.incept!=0)MENU.incept(pBuf);
}
//------------------------------------------------------------------------------------------------------------------------------------------------------------


⌨️ 快捷键说明

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