////////////////////////////////////////////////////////////////////////// /// COPYRIGHT NOTICE /// Copyright (c) 2020, 传控科技 /// All rights reserved. /// /// @file main.c /// @brief main app /// ///(本文件实现的功能的详述) /// /// @version 1.1 CCsens technology /// @author CC /// @date 20150102 /// /// /// 修订说明:最初版本 /// Modified by: cc /// Modified date: 20200531 /// Version: /// Descriptions: add u8 ////////////////////////////////////////////////////////////////////////// //#include #ifndef __TYPE_H__ #define __TYPE_H__ #ifndef NULL #define NULL ((void *)0) #endif #ifndef FALSE #define FALSE (0) #endif #ifndef D_stop #define D_stop (1) #endif #ifndef D_run #define D_run (0) #endif #ifndef D_ready #define D_ready (1) #endif #ifndef D_ready2 #define D_ready2 (2) #endif #ifndef D_max #define D_max (3) #endif #ifndef D_diff #define D_diff (4) #endif #ifndef D_set #define D_set (1) #endif #ifndef D_clear #define D_clear (0) #endif #define D_ON 1 #define D_OFF 0 #define D_sleep_wakeup 3 #define D_sleep 1 #define D_wakeup 0 #ifndef TRUE #define TRUE (1) #endif /********************************************************************************************************* 定义与编译器无关的数据类型 *********************************************************************************************************/ typedef unsigned char U8; typedef unsigned char u8; typedef volatile U8 vU8; typedef U8 BOOLEAN; /* 布尔变量 */ typedef U8 *PU8; typedef U8 BYTE; typedef signed char S8; typedef volatile signed char vS8; typedef signed char *PS8; #define bit char //#define code typedef unsigned short u16; typedef unsigned short U16; /* 无符号16位整型变量 */ typedef volatile U16 vU16; /* 无符号16位整型变量 */ typedef signed short S16; typedef volatile S16 vS16; /* 有符号16位整型变量 */ typedef signed long S32; typedef unsigned long U32; /* 无符号32位整型变量 */ typedef volatile U32 vU32; /* 有符号32位整型变量 */ typedef volatile signed long vS32; typedef float FP32; /* 单精度浮点数(32位长度) */ typedef double FP64; /* 双精度浮点数(64位长度) */ //typedef unsigned char BOOLEAN; // 布尔变量 typedef unsigned char INT8U; // 无符号8位整型变量 typedef signed char INT8S; // 有符号8位整型变量 typedef unsigned short INT16U; // 无符号16位整型变量 typedef signed short INT16S; // 有符号16位整型变量 typedef unsigned long INT32U; // 无符号32位整型变量 typedef signed long INT32S; // 有符号32位整型变量 //typedef float FP32; // 单精度浮点数(32位长度) //typedef double FP64; // 双精度浮点数(64位长度) typedef unsigned int FLAG_P; // 标准类变量 //typedef unsigned char INTU; // 标准类变量8BIT MCU typedef unsigned int INTU; // 标准类变量32BIT MCU /****************** **************************/ /********************************************************************************************************* 返回值定义 *********************************************************************************************************/ #define ZY_OK 0 /* 操作成功 */ #define ZY_NOT_OK 1 /* 操作失败 */ #define ZY_PARAMETER_ERR 2 /* 参数错误 */ #define ZY_NO_FIND_FUNCTION 6 /* 没有发现指定函数 */ #define ZY_NO_MEMORY 12 /* 内存不足 */ #define ZY_TIME_OUT 13 /* 超时 */ #define ZY_NO_FIND_OBJECT 16 /* 没有发现对象 */ /********************************************************************************************************* realView编译器需要添加的头文件 *********************************************************************************************************/ #include #include #include //#include #define D_flag_lock 2 #define D_flag_clear 0 #define D_flag_CanUse 1 typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus; typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState; typedef U8 UN_TYPE; typedef U8 vtype; /************* ******************/ //>>>>> typedef union { vU32 ui; vU16 s[2]; vU8 d[4]; }tu_ui4uc; typedef union { vU16 word; struct { vU8 h; vU8 l; }BYTE2; }U_U16; typedef union { vU32 dWord; ///High 0123 Low struct { vU8 byte0; vU8 byte1; vU8 byte2; vU8 byte3; }BYTE4; }U_U32; typedef union { vU16 us; vU8 uc[2]; struct { vU8 H; vU8 L; }BYTE2; }U_F16; /********** k.us = 0x1234 uc [0]=0x12 [1]=0x34 byte2 H=0x12 L=0x34 **********/ typedef union { float fl; vU8 uc[4]; }U_F32; typedef struct { vU8 *buffer; vU8 wpt; vU8 rpt; vU8 cnt; }byte_len_fifo_struct; typedef struct { vU16 *buffer; vU16 wpt; vU16 rpt; vU16 cnt; }word_len_fifo_struct; typedef struct { vU16 x; vU16 y; }point_struct; typedef struct { vU16 x; vU16 y; vU16 width; vU16 height; }rect_struct; #define HIGHT 1 #define LOW 0 #if 0 #ifndef MIN #define MIN(a,b) (((a) < (b)) ? (a) : (b)) #endif #ifndef MAX #define MAX(a, b) (((a) > (b)) ? (a) : (b)) #endif #endif #ifndef ABS #define ABS(a, b) (((a) > (b)) ? ((a) - (b)) : ((b) - (a))) #endif #define F_FINSIH 1 #define F_WORKING 0 #define F_WAITINGKEY 2 #define DF_var_up(v,step,max,init) (v) += (step);if((v) > (max)) (v) = (init); //if step > 1 bug warning!! #define DF_var_down(v,step,min,init) \ if((v) < ((min) + (step))) \ { \ (v) = (init); \ }else \ { \ (v) -= (step); \ } #define D_us2uc_H(x) (U8)(0x00ff&((x)>>8)) #define D_us2uc_L(x) (U8)(0x00ff&(x)) #define D_ul2uc_0(xx) (U8)(0x000000ff&(xx)) #define D_uc_high(ww) ((ww)>>4) #define D_uc_low(ww) ((ww)&0x0f) #define L0_type_byte(x) ((U8 *) &(x)) //#define _nop_ __NOP // #define _nop_ extern void L3_us_big(U16 *d); extern void L3_ui_big(vU32 *d); #endif /* __TYPE_H__ */