tag 标签: 变量类型

相关资源
  • 所需E币: 0
    时间: 2025-3-24 15:50
    大小: 2.02KB
    //------------------------------------------------------#ifndef __I#ifdef __cplusplus#define __I        volatile      //只读#else//程序空间在数据空间中可见(可使用const变量)#define __I        volatileconst   //只读#endif#endif#ifndef __O#define __O        volatile      //只写#endif#ifndef __IO#define __IO       volatile      //读写#endiftypedefunsignedchar     uint8_t, INT8U, BYTE;typedef signedchar     int8_t, INT8S;typedefunsignedint      uint16_t,INT16U,HWORD;typedef signedint      int16_t, INT16S;typedefunsignedlongint   uint32_t,INT32U,WORD;typedef signedlongint   int32_t, INT32S;typedefunsignedlonglongint uint64_t,INT64U,DWORD;typedef signedlonglongint int64_t, INT64S;#define UINT8_MAX   (uint8_t)(255)#define  INT8_MIN   (int8_t)(-128)#define  INT8_MAX   (int8_t)( 127)#define UINT14_MAX   (uint16_t)(16383)#define INT14_MAX   (int16_t)(16383)#define UINT16_MAX   (uint16_t)(65535)#define INT16_MIN   (int16_t)(-32768)#define INT16_MAX   (int16_t)(32767)#define UINT32_MAX   (uint32_t)(4294967295)#define INT32_MIN   (int32_t)(-2147483648)#define INT32_MAX   (int32_t)(2147483647)#define UINT64_MAX   (uint64_t)(18446744073709551615)#define INT64_MIN   (int64_t)(-9223372036854775808)#define INT64_MAX   (int64_t)(9223372036854775807)//------------------------------------------------//字节操作类型typedefunion{  __IOchar  ch;    //字符  __IOint8_t iByte;   //有符号数  __IOuint8_tbyte;   //字节  struct  {    __IOuint8_td0:4;    __IOuint8_td1:4;  }hByte;      //半字节  struct  {    __IOuint8_td0:1;    __IOuint8_td1:1;    __IOuint8_td2:1;    __IOuint8_td3:1;    __IOuint8_td4:1;    __IOuint8_td5:1;    __IOuint8_td6:1;    __IOuint8_td7:1;  }bittel;     //二进制位}Byte_t,*Byte_pt;//半字操作类型(存储模式:小端模式,低字节在低地址)typedefunion{  __IOint16_t iHWord;  //有符号数  __IOuint16_thWord;  //半字  struct  {    __IOuint8_td0;    __IOuint8_td1;  }byte;      //字节  struct  {    __IOuint8_td0:4;    __IOuint8_td1:4;    __IOuint8_td2:4;    __IOuint8_td3:4;  }hByte;      //半字节  struct  {    __IOuint8_td0:1;    __IOuint8_td1:1;    __IOuint8_td2:1;    __IOuint8_td3:1;    __IOuint8_td4:1;    __IOuint8_td5:1;    __IOuint8_td6:1;    __IOuint8_td7:1;    __IOuint8_td8:1;    __IOuint8_td9:1;    __IOuint8_td10:1;    __IOuint8_td11:1;    __IOuint8_td12:1;    __IOuint8_td13:1;    __IOuint8_td14:1;    __IOuint8_td15:1;  }bittel;     //二进制位}HWord_t,*HWord_pt;//字操作类型(存储模式:小端模式)typedefunion{  __IOfloat  fVal;   //单精度浮点数  __IOint32_t iWord;  //有符号数  __IOuint32_tword;   //字  struct  {    __IOuint16_td0;    __IOuint16_td1;  }hWord;      //半字  struct  {    __IOuint8_td0;    __IOuint8_td1;    __IOuint8_td2;    __IOuint8_td3;  }byte;      //字节  struct  {    __IOuint8_td0:4;    __IOuint8_td1:4;    __IOuint8_td2:4;    __IOuint8_td3:4;    __IOuint8_td4:4;    __IOuint8_td5:4;    __IOuint8_td6:4;    __IOuint8_td7:4;  }hByte;      //半字节  struct  {    __IOuint8_td0:1;    __IOuint8_td1:1;    __IOuint8_td2:1;    __IOuint8_td3:1;    __IOuint8_td4:1;    __IOuint8_td5:1;    __IOuint8_td6:1;    __IOuint8_td7:1;    __IOuint8_td8:1;    __IOuint8_td9:1;    __IOuint8_td10:1;    __IOuint8_td11:1;    __IOuint8_td12:1;    __IOuint8_td13:1;    __IOuint8_td14:1;    __IOuint8_td15:1;    __IOuint8_td16:1;    __IOuint8_td17:1;    __IOuint8_td18:1;    __IOuint8_td19:1;    __IOuint8_td20:1;    __IOuint8_td21:1;    __IOuint8_td22:1;    __IOuint8_td23:1;    __IOuint8_td24:1;    __IOuint8_td25:1;    __IOuint8_td26:1;    __IOuint8_td27:1;    __IOuint8_td28:1;    __IOuint8_td29:1;    __IOuint8_td30:1;    __IOuint8_td31:1;  }bittel;     //二进制位}Word_t,*Word_pt;//双字操作类型(存储模式:小端模式)typedefunion{  __IOdouble dFVal;  //双精度浮点数  __IOint64_t iDWord;  //有符号数  __IOuint64_tdWord;  //双字  struct  {    __IOuint32_td0;    __IOuint32_td1;  }word;      //字  struct  {    __IOuint16_td0;    __IOuint16_td1;    __IOuint16_td2;    __IOuint16_td3;  }hWord;      //半字  struct  {    __IOuint8_td0;    __IOuint8_td1;    __IOuint8_td2;    __IOuint8_td3;    __IOuint8_td4;    __IOuint8_td5;    __IOuint8_td6;    __IOuint8_td7;  }byte;      //字节  struct  {    __IOuint8_td0:4;    __IOuint8_td1:4;    __IOuint8_td2:4;    __IOuint8_td3:4;    __IOuint8_td4:4;    __IOuint8_td5:4;    __IOuint8_td6:4;    __IOuint8_td7:4;    __IOuint8_td8:4;    __IOuint8_td9:4;    __IOuint8_td10:4;    __IOuint8_td11:4;    __IOuint8_td12:4;    __IOuint8_td13:4;    __IOuint8_td14:4;    __IOuint8_td15:4;  }hByte;      //半字节  struct  {    __IOuint8_td0:1;    __IOuint8_td1:1;    __IOuint8_td2:1;    __IOuint8_td3:1;    __IOuint8_td4:1;    __IOuint8_td5:1;    __IOuint8_td6:1;    __IOuint8_td7:1;    __IOuint8_td8:1;    __IOuint8_td9:1;    __IOuint8_td10:1;    __IOuint8_td11:1;    __IOuint8_td12:1;    __IOuint8_td13:1;    __IOuint8_td14:1;    __IOuint8_td15:1;    __IOuint8_td16:1;    __IOuint8_td17:1;    __IOuint8_td18:1;    __IOuint8_td19:1;    __IOuint8_td20:1;    __IOuint8_td21:1;    __IOuint8_td22:1;    __IOuint8_td23:1;    __IOuint8_td24:1;    __IOuint8_td25:1;    __IOuint8_td26:1;    __IOuint8_td27:1;    __IOuint8_td28:1;    __IOuint8_td29:1;    __IOuint8_td30:1;    __IOuint8_td31:1;    __IOuint8_td32:1;    __IOuint8_td33:1;    __IOuint8_td34:1;    __IOuint8_td35:1;    __IOuint8_td36:1;    __IOuint8_td37:1;    __IOuint8_td38:1;    __IOuint8_td39:1;    __IOuint8_td40:1;    __IOuint8_td41:1;    __IOuint8_td42:1;    __IOuint8_td43:1;    __IOuint8_td44:1;    __IOuint8_td45:1;    __IOuint8_td46:1;    __IOuint8_td47:1;    __IOuint8_td48:1;    __IOuint8_td49:1;    __IOuint8_td50:1;    __IOuint8_td51:1;    __IOuint8_td52:1;    __IOuint8_td53:1;    __IOuint8_td54:1;    __IOuint8_td55:1;    __IOuint8_td56:1;    __IOuint8_td57:1;    __IOuint8_td58:1;    __IOuint8_td59:1;    __IOuint8_td60:1;    __IOuint8_td61:1;    __IOuint8_td62:1;    __IOuint8_td63:1;  }bittel;     //二进制位}DWord_t,*DWord_pt;//------------------------------------------------------//时间计算typedefstructCalTime{  __IOuint16_tbDelay:1; //延时标识  __IOuint16_tbExe:1;  //执行标识  __IOuint16_tbCon:1;  //控制标识  __IOuint16_tcon:13;  //控制值[0,8191]  __IOuint16_tval;   //计数值}CalTime_t,*CalTime_pt;//------------------------------------------------------//===单二进制位操作宏===//2字节长度#defineSetBit2B(Byte,Bit)  ((Byte)|= (((uint16_t)1)<<(Bit)))#defineClrBit2B(Byte,Bit)  ((Byte)&=~(((uint16_t)1)<<(Bit)))#defineComBit2B(Byte,Bit)  ((Byte)^= (((uint16_t)1)<<(Bit)))#defineGetBit2B(Byte,Bit)  (((Byte)& (((uint16_t)1)<<(Bit)))?1:0)//4字节长度#defineSetBit4B(Byte,Bit)  ((Byte)|= (((uint32_t)1)<<(Bit)))#defineClrBit4B(Byte,Bit)  ((Byte)&=~(((uint32_t)1)<<(Bit)))#defineComBit4B(Byte,Bit)  ((Byte)^= (((uint32_t)1)<<(Bit)))#defineGetBit4B(Byte,Bit)  (((Byte)& (((uint32_t)1)<<(Bit)))?1:0)//8字节长度#defineSetBit8B(Byte,Bit)  ((Byte)|= (((uint64_t)1)<<(Bit)))#defineClrBit8B(Byte,Bit)  ((Byte)&=~(((uint64_t)1)<<(Bit)))#defineComBit8B(Byte,Bit)  ((Byte)^= (((uint64_t)1)<<(Bit)))#defineGetBit8B(Byte,Bit)  (((Byte)& (((
  • 所需E币: 5
    时间: 2019-12-25 12:41
    大小: 6.32KB
    上传者: 微风DS
    uCOS环境下的C语言编程……