#ifndef DATATYPE_H #define DATATYPE_H #include #include #include /**************************** 自定义数据类型 ****************************/ typedef struct tsPageConfig // 8位数据类型 { /** @brief 页面是否隐藏 */ M_b01 isHide = false; /** @brief 页面的宽度 */ M_u16 width = 647; /** @brief 页面的高度 */ M_u16 height = 400; /** @brief 页面的左边 */ M_i16 left = 0; /** @brief 页面的右边 */ M_i16 right = 0; }_tsPageConfig; /**************************** 共用体数据类型 ****************************/ #if CONFIG_EN_8BIT_UNION /** @brief 8位数据类型 */ union uBit8 { /** @brief 开关逻辑型1位 */ M_b01 B1[8]; /** @brief 有符号短整型8位 */ M_i08 i8; /** @brief 无符号短整型8位 */ M_u08 u8=0; }; #endif #if CONFIG_EN_16BIT_UNION /** @brief 16位数据类型 */ union uBit16 { /** @brief 开关逻辑型1位 */ M_b01 B1[16]; /** @brief 有符号短整型8位 */ M_i08 i8[2]; /** @brief 无符号短整型8位 */ M_u08 u8[2]; /** @brief 有符号整型16位 */ M_i16 i16; /** @brief 无符号整型16位 */ M_u16 u16=0; }; #endif #if CONFIG_EN_32BIT_UNION /** @brief 32位数据类型 */ union uBit32 { /** @brief 开关逻辑型1位 */ M_b01 B1[32]; /** @brief 有符号短整型8位 */ M_i08 i8[4]; /** @brief 无符号短整型8位 */ M_u08 u8[4]; /** @brief 有符号整型16位 */ M_i16 i16[2]; /** @brief 无符号整型16位 */ M_u16 u16[2]; /** @brief 有符号长整型32位 */ M_i32 i32; /** @brief 无符号长整型32位 */ M_u32 u32=0; /** @brief 浮点型32位 */ M_f32 f32; }; #endif #if CONFIG_EN_64BIT_UNION /** @brief 64位数据类型 */ union uBit64 { /** @brief 开关逻辑型1位 */ M_b01 B1[64]; /** @brief 有符号短整型8位 */ M_i08 i8[8]; /** @brief 无符号短整型8位 */ M_u08 u8[8]; /** @brief 有符号整型16位 */ M_i16 i16[4]; /** @brief 无符号整型16位 */ M_u16 u16[4]; /** @brief 有符号长整型16位 */ M_i32 i32[2]; /** @brief 无符号长整型16位 */ M_u32 u32[2]; /** @brief 有符号超长整型16位 */ M_i64 i64; /** @brief 无符号超长整型16位 */ M_u64 u64=0; /** @brief 浮点型32位 */ M_f32 f32[2]; /** @brief 浮点型32位 */ M_d64 d64[2]; }; #endif #endif // GLOBALDATATYPE_H