📄 lib_def.h
字号:
/*
*********************************************************************************************************
*
* 常用代码库模块
*
* 文件名: lib_def.h
* 版 本: V1.24
* 程序员: ITJ
*********************************************************************************************************
* 注意: (1) NO compiler-supplied standard library functions are used in library or product software.
* (1)没有任何一款编译器的标准库能够用在程序库或者产品软件中
* (a) ALL standard library functions are implemented in the custom library modules :
* (a)所有的标准函数库在常用库模块中都是工具
* (1) \<常用库目录>\lib*.*
*
* (2) \<常用库目录>\Ports\<cpu>\<compiler>\lib*_a.*
*
* 在什么地方
* <常用库目录> directory path for custom library software
* <cpu> directory name for specific processor (CPU)
* <compiler> directory name for specific compiler
*
* (b) Product-specific library functions are implemented in individual products.
*********************************************************************************************************
*/
/*
*********************************************************************************************************
* MODULE
*********************************************************************************************************
*/
#ifndef LIB_DEF_MODULE_PRESENT
#define LIB_DEF_MODULE_PRESENT
/*$PAGE*/
/*
*********************************************************************************************************
* CUSTOM LIBRARY MODULE VERSION NUMBER
*
* Note(s) : (1) (a) The custom library module software version is denoted as follows :
*
* Vx.yy
*
* where
* V denotes 'Version' label
* x denotes major software version revision number
* yy denotes minor software version revision number
*
* (b) The software version label #define is formatted as follows :
*
* ver = x.yy * 100
*
* where
* ver denotes software version number scaled as an integer value
* x.yy denotes software version number
*********************************************************************************************************
*/
#define LIB_VERSION 124u /* See Note #1. */
/*
*********************************************************************************************************
* INCLUDE FILES
*
* Note(s) : (1) The following common software files are located in the following directories :
*
* (a) \<Custom Library Directory>\lib*.*
*
* (b) (1) \<CPU-Compiler Directory>\cpu_def.h
*
* (2) \<CPU-Compiler Directory>\<cpu>\<compiler>\cpu*.*
*
* where
* <Custom Library Directory> directory path for custom library software
* <CPU-Compiler Directory> directory path for common CPU-compiler software
* <cpu> directory name for specific processor (CPU)
* <compiler> directory name for specific compiler
*
* (2) Compiler MUST be configured to include the '\<Custom Library Directory>\uC-LIB\',
* '\<CPU-Compiler Directory>\' directory, & the specific CPU-compiler directory as
* additional include path directories.
*********************************************************************************************************
*/
#include <cpu.h>
/*$PAGE*/
/*
*********************************************************************************************************
* STANDARD DEFINES
*********************************************************************************************************
*/
#define DEF_DISABLED 0
#define DEF_ENABLED 1
#define DEF_FALSE 0
#define DEF_TRUE 1
#define DEF_NO 0
#define DEF_YES 1
#define DEF_OFF 0
#define DEF_ON 1
#define DEF_CLR 0
#define DEF_SET 1
#define DEF_ACTIVE 0
#define DEF_INACTIVE 1
#define DEF_FAIL 0
#define DEF_OK 1
/* -------------------- BIT DEFINES ------------------- */
#define DEF_BIT_NONE 0x00
#define DEF_BIT_00 0x01
#define DEF_BIT_01 0x02
#define DEF_BIT_02 0x04
#define DEF_BIT_03 0x08
#define DEF_BIT_04 0x10
#define DEF_BIT_05 0x20
#define DEF_BIT_06 0x40
#define DEF_BIT_07 0x80
#define DEF_BIT_08 0x0100
#define DEF_BIT_09 0x0200
#define DEF_BIT_10 0x0400
#define DEF_BIT_11 0x0800
#define DEF_BIT_12 0x1000
#define DEF_BIT_13 0x2000
#define DEF_BIT_14 0x4000
#define DEF_BIT_15 0x8000
#define DEF_BIT_16 0x00010000
#define DEF_BIT_17 0x00020000
#define DEF_BIT_18 0x00040000
#define DEF_BIT_19 0x00080000
#define DEF_BIT_20 0x00100000
#define DEF_BIT_21 0x00200000
#define DEF_BIT_22 0x00400000
#define DEF_BIT_23 0x00800000
#define DEF_BIT_24 0x01000000
#define DEF_BIT_25 0x02000000
#define DEF_BIT_26 0x04000000
#define DEF_BIT_27 0x08000000
#define DEF_BIT_28 0x10000000
#define DEF_BIT_29 0x20000000
#define DEF_BIT_30 0x40000000
#define DEF_BIT_31 0x80000000
/* ------------------- OCTET DEFINES ------------------ */
#define DEF_OCTET_NBR_BITS 8
#define DEF_OCTET_MASK 0xFF
#define DEF_NIBBLE_NBR_BITS 4
#define DEF_NIBBLE_MASK 0x0F
/*$PAGE*/
/* ------------------ INTEGER DEFINES ----------------- */
#define DEF_INT_08_NBR_BITS 8
#define DEF_INT_08_MASK 0xFF
#define DEF_INT_08U_MIN_VAL 0u
#define DEF_INT_08U_MAX_VAL 255u
#define DEF_INT_08S_MIN_VAL -128
#define DEF_INT_08S_MAX_VAL 127
#define DEF_INT_08S_MIN_VAL_ONES_CPL -127
#define DEF_INT_08S_MAX_VAL_ONES_CPL 127
#define DEF_INT_16_NBR_BITS 16
#define DEF_INT_16_MASK 0xFFFF
#define DEF_INT_16U_MIN_VAL 0u
#define DEF_INT_16U_MAX_VAL 65535u
#define DEF_INT_16S_MIN_VAL -32768
#define DEF_INT_16S_MAX_VAL 32767
#define DEF_INT_16S_MIN_VAL_ONES_CPL -32767
#define DEF_INT_16S_MAX_VAL_ONES_CPL 32767
#define DEF_INT_32_NBR_BITS 32
#define DEF_INT_32_MASK 0xFFFFFFFF
#define DEF_INT_32U_MIN_VAL 0u
#define DEF_INT_32U_MAX_VAL 4294967295u
#define DEF_INT_32S_MIN_VAL -2147483648
#define DEF_INT_32S_MAX_VAL 2147483647
#define DEF_INT_32S_MIN_VAL_ONES_CPL -2147483647
#define DEF_INT_32S_MAX_VAL_ONES_CPL 2147483647
#define DEF_INT_64_NBR_BITS 64
#define DEF_INT_64_MASK 0xFFFFFFFFFFFFFFFF
#define DEF_INT_64U_MIN_VAL 0u
#define DEF_INT_64U_MAX_VAL 18446744073709551615u
#define DEF_INT_64S_MIN_VAL -9223372036854775808
#define DEF_INT_64S_MAX_VAL 9223372036854775807
#define DEF_INT_64S_MIN_VAL_ONES_CPL -9223372036854775807
#define DEF_INT_64S_MAX_VAL_ONES_CPL 9223372036854775807
/*$PAGE*/
/* ---------------- CPU 整数定义 --------------- */
#define DEF_INT_CPU_NBR_BITS (CPU_CFG_DATA_SIZE * DEF_OCTET_NBR_BITS)
#if (DEF_INT_CPU_NBR_BITS == DEF_INT_08_NBR_BITS)
#define DEF_INT_CPU_MASK DEF_INT_08_MASK
#define DEF_INT_CPU_U_MIN_VAL DEF_INT_08U_MIN_VAL
#define DEF_INT_CPU_U_MAX_VAL DEF_INT_08U_MAX_VAL
#define DEF_INT_CPU_S_MIN_VAL DEF_INT_08S_MIN_VAL
#define DEF_INT_CPU_S_MAX_VAL DEF_INT_08S_MAX_VAL
#define DEF_INT_CPU_S_MIN_VAL_ONES_CPL DEF_INT_08S_MIN_VAL_ONES_CPL
#define DEF_INT_CPU_S_MAX_VAL_ONES_CPL DEF_INT_08S_MAX_VAL_ONES_CPL
#elif (DEF_INT_CPU_NBR_BITS == DEF_INT_16_NBR_BITS)
#define DEF_INT_CPU_MASK DEF_INT_16_MASK
#define DEF_INT_CPU_U_MIN_VAL DEF_INT_16U_MIN_VAL
#define DEF_INT_CPU_U_MAX_VAL DEF_INT_16U_MAX_VAL
#define DEF_INT_CPU_S_MIN_VAL DEF_INT_16S_MIN_VAL
#define DEF_INT_CPU_S_MAX_VAL DEF_INT_16S_MAX_VAL
#define DEF_INT_CPU_S_MIN_VAL_ONES_CPL DEF_INT_16S_MIN_VAL_ONES_CPL
#define DEF_INT_CPU_S_MAX_VAL_ONES_CPL DEF_INT_16S_MAX_VAL_ONES_CPL
#elif (DEF_INT_CPU_NBR_BITS == DEF_INT_32_NBR_BITS)
#define DEF_INT_CPU_MASK DEF_INT_32_MASK
#define DEF_INT_CPU_U_MIN_VAL DEF_INT_32U_MIN_VAL
#define DEF_INT_CPU_U_MAX_VAL DEF_INT_32U_MAX_VAL
#define DEF_INT_CPU_S_MIN_VAL DEF_INT_32S_MIN_VAL
#define DEF_INT_CPU_S_MAX_VAL DEF_INT_32S_MAX_VAL
#define DEF_INT_CPU_S_MIN_VAL_ONES_CPL DEF_INT_32S_MIN_VAL_ONES_CPL
#define DEF_INT_CPU_S_MAX_VAL_ONES_CPL DEF_INT_32S_MAX_VAL_ONES_CPL
#elif (DEF_INT_CPU_NBR_BITS == DEF_INT_64_NBR_BITS)
#define DEF_INT_CPU_MASK DEF_INT_64_MASK
#define DEF_INT_CPU_U_MIN_VAL DEF_INT_64U_MIN_VAL
#define DEF_INT_CPU_U_MAX_VAL DEF_INT_64U_MAX_VAL
#define DEF_INT_CPU_S_MIN_VAL DEF_INT_64S_MIN_VAL
#define DEF_INT_CPU_S_MAX_VAL DEF_INT_64S_MAX_VAL
#define DEF_INT_CPU_S_MIN_VAL_ONES_CPL DEF_INT_64S_MIN_VAL_ONES_CPL
#define DEF_INT_CPU_S_MAX_VAL_ONES_CPL DEF_INT_64S_MAX_VAL_ONES_CPL
#else
#error "CPU_CFG_DATA_SIZE illegally #defined in 'cpu.h' "
#error " [See 'cpu.h CONFIGURATION ERRORS']"
#endif
/*$PAGE*/
/* ------------------- TIME DEFINES ------------------- */
#define DEF_TIME_NBR_HR_PER_DAY 24uL
#define DEF_TIME_NBR_MIN_PER_HR 60uL
#define DEF_TIME_NBR_MIN_PER_DAY (DEF_TIME_NBR_MIN_PER_HR * DEF_TIME_NBR_HR_PER_DAY)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -