📄 uitype.h
字号:
#include "MOTOType.h"
#include "hardware_intc.h"
/******************************设定功能顶层菜单结构体*******/
typedef struct
{
void *NodeNext;
U16 symbolData[2];
int BitNeedSet;
int MenuNum;
float *data[3];
}Menu_Top_Struct;
/******************************设定功能子菜单结构体*******/
typedef struct
{
void *NodeNext;
U16 symbolData[2];
int BitNeedSet;
float *dataAdd;
}SonMenu_Struct;
/**************************菜单状态结构体**************/
typedef struct
{
int
Func_Select, //测量或者设置选择
Protect_Select, //保护功能或显示的参数 选择菜单
Menu_Num, // 子菜单总数
Menu_Level, // 当前子菜单号
Cursor, //光标位置
Bit_NeedSet; // 需要修改的位数
U16
LED_1,
LED_2,
LED_3,
LED_4; //数码管数据
BOOL
UP_flag, //上下键按键标志
DOWN_flag; //上下键按键标志
int *ActiveMenuAdd; //当前菜单的结构体地址
}MenuStatus_Struct;
enum
{
offset_Func_Select, //测量或者设置选择
offset_Protect_Select, //第几种保护功能 菜单第一层;
offset_Menu_Num,
offset_Menu_Level,
offset_Cursor,
offset_Bit_NeedSet,
offset_LED_1,
offset_LED_2,
offset_LED_3,
offset_LED_4, //数码管数据
offset_UP_flag,
offset_DOWN_flag,
offset_ActiveMenuAdd
};
/*************************菜单状态结构体地址*******************/
//#define MenuStatusAdd (int *)(0x1fff0000 + 0x600)
//MenuStatus_Struct *MenuStatus = (MenuStatus_Struct *) (0x1fff0000 + 0x800);
/********************************************************************************/
#define Func_Select (MenuStatus -> Func_Select)
#define Protect_Select (MenuStatus -> Protect_Select)
#define Menu_Num (MenuStatus -> Menu_Num)
#define Menu_Level (MenuStatus -> Menu_Level )
#define Cursor (MenuStatus -> Cursor )
#define Bit_NeedSet (MenuStatus -> Bit_NeedSet)
#define LED_1 (MenuStatus -> LED_1)
#define LED_2 (MenuStatus -> LED_2 )
#define LED_3 (MenuStatus -> LED_3 )
#define LED_4 (MenuStatus -> LED_4 ) //数码管数据
#define UP_flag (MenuStatus -> UP_flag)
#define DOWN_flag (MenuStatus -> DOWN_flag)
#define ActiveMenuAdd (MenuStatus -> ActiveMenuAdd)
/***********************************菜单状态*********************/
/*****************************************************************************
#define Func_Select (*(MenuStatusAdd+offset_Func_Select))
#define Protect_Select (*(MenuStatusAdd+offset_Protect_Select))
#define Menu_Num (*(MenuStatusAdd+offset_Menu_Num))
#define Menu_Level (*(MenuStatusAdd+offset_Menu_Level ))
#define Cursor (*(MenuStatusAdd+offset_Cursor ))
#define Bit_NeedSet (*(MenuStatusAdd+offset_Bit_NeedSet) )
#define LED_1 (*(MenuStatusAdd+offset_LED_1))
#define LED_2 (*(MenuStatusAdd+offset_LED_2 ))
#define LED_3 (*(MenuStatusAdd+offset_LED_3 ))
#define LED_4 (*(MenuStatusAdd+offset_LED_4 )) //数码管数据
#define UP_flag (*(MenuStatusAdd+offset_UP_flag))
#define DOWN_flag (*(MenuStatusAdd+offset_DOWN_flag) )
#define ActiveMenuAdd (*(MenuStatusAdd+offset_ActiveMenuAdd) )
************************************************************************/
/********************************按键标志******************/
/*
#define RESET 1
#define FUNC 2
#define UP 3
#define DOWN 4
#define ENTER 5
#define STOP 6
*/
#define RESET_L
#define FUNC_L
#define UP_L
#define DOWN_L
#define ENTER_L
#define STOP_L
#define Setting 1
#define Measure 0
#define Measure_StateNum 20 //菜单数
#define Protect_StateNum 20 //保护功能数
/****************************测量值显示菜单内容的结构体*****************/
typedef struct
{
float *DataAdd[20]; //第0 个显示的数据的地址
U16 Symbol_Segment[40]; //标号的数码管段值
}Measure_Display_Data_Struct;
#define MeasureDisplayData_Add ( float *)0x1fff1000
#define Symbol_Segment Measure_Display_Data->Symbol_Segment
/*******************************************************************************/
extern int MenuNode_Scan(int node1,int node2 );
extern void Float2Led(float value,U16 Float2LedValue[3]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -