📄 datatype.h
字号:
/******************************************************************************
** 文件名:DataType.h
** 描 述:按照MISRA-C:2004规则6.3 显式标识各数据类型,及通用枚举、结构类型
** 版本号:1.1.3 生成日期:2007.6.18
** http://www.kingst.org
** 小宋 QQ:415942827
** 备 注:要求目标系统的char数据类型长度必须为8bit
******************************************************************************/
#ifndef _DataType
#define _DataType
/* 符合MISRA-C:2004规则6.3的数据类型定义 */
typedef signed char int8; //有符号 8bit整型数
typedef signed int int16; //有符号16bit整型数
typedef signed long int32; //有符号32bit整型数
typedef unsigned char uint8; //无符号 8bit整型数
typedef unsigned int uint16; //无符号16bit整型数
typedef unsigned long uint32; //无符号32bit整型数
typedef unsigned char CPU_SR; //CPU特殊功能寄存器数据类型
/* 通用枚举类型定义 */
enum _bool {false, true}; //布尔枚举类型
typedef enum _bool bool;
enum _off_on {OFF, ON}; //开关枚举类型
typedef enum _off_on off_on;
/* 通用结构类型定义 */
struct _ifd16 //小数点为十进制的16bit有符号整型数
{
int16 val;
uint8 dot;
};
typedef struct _ifd16 ifd16;
struct _Uifd16 //小数点为十进制的16bit无符号整型数
{
uint16 val;
uint8 dot;
};
typedef struct _Uifd16 Uifd16;
struct _ifd32 //小数点为十进制的32bit有符号整型数
{
int32 val;
uint8 dot;
};
typedef struct _ifd32 ifd32;
struct _Uifd32 //小数点为十进制的32bit无符号整型数
{
uint32 val;
uint8 dot;
};
typedef struct _Uifd32 Uifd32;
struct _ifb16 //小数点为二进制Q值的16bit有符号整型数
{
int16 val;
uint8 Q;
};
typedef struct _ifb16 ifb16;
struct _Uifb16 //小数点为二进制Q值的16bit无符号整型数
{
uint16 val;
uint8 Q;
};
typedef struct _Uifb16 Uifb16;
struct _ifb32 //小数点为二进制Q值的32bit有符号整型数
{
int32 val;
uint8 Q;
};
typedef struct _ifb32 ifb32;
struct _Uifb32 //小数点为二进制Q值的32bit无符号整型数
{
uint32 val;
uint8 Q;
};
typedef struct _Uifb32 Uifb32;
#endif
/**************************************************************************************************
** 修订记录:
** 版本:1.0.1 日期:2007.2.13 内容:按条件编译标识的统一命名格式修改预处理标识符
** 版本:1.0.2 日期:2007.2.28 内容:修改bool枚举类型的定义方式,以使在源代码中定义bool类型变
量时不再需要enum关键字,使其等同于通用数据类型的定义方式
** 版本:1.1.0 日期:2007.3.1 内容:添加包含浮点信息的结构类型:icf16、Uicf16、icf32、Uicf32
** 版本:1.1.1 日期:2007.3.5 内容:将枚举和结构类型的定义方式由#define改为typedef
** 版本:1.1.2 日期:2007.3.29 内容:icf类型改为ifd,并明确标识小数点格式为十进制格式
添加ifb类型,小数点采用二进制Q值格式表示
** 版本:1.1.3 日期:2007.6.18 内容:添加一个开关枚举类型off_on
**************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -