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

📄 uitype.h

📁 基于c的电动机保护程序
💻 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 + -