伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

電子發燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>頭文件類型定義

頭文件類型定義

2025-03-24 | zip | 0.00 MB | 次下載 | 免費

資料介紹

// 開關

#define ?SW_ON ? ? ? ? ? ? ??1

#define ?SW_OFF ? ? ? ? ? ? ?2

#define ?SW_INVERT ? ? ? ? ??3


?

// 右移位替代除法

#define ?SHIFT_DIVISOR_2 ? ??1 ? ? // 右移1位 (除以2)

#define ?SHIFT_DIVISOR_4 ? ??2 ? ? // 右移2位 (除以4)

#define ?SHIFT_DIVISOR_8 ? ??3 ? ? // 右移3位 (除以8)

#define ?SHIFT_DIVISOR_16 ? ?4 ? ? // 右移4位 (除以16)

#define ?SHIFT_DIVISOR_32 ? ?5 ? ? // 右移5位 (除以32)

#define ?SHIFT_DIVISOR_64 ? ?6 ? ? // 右移6位 (除以64)

#define ?SHIFT_DIVISOR_128 ??7 ? ? // 右移7位 (除以128)

#define ?SHIFT_DIVISOR_256 ??8 ? ? // 右移8位 (除以256)



?

// ------------------------------------------------------

#ifndef ?__I

#ifdef ? __cplusplus

#define ?__I ? ? ? ? ? ? ? ?volatile ? ? ? ? ? ? // 只讀

#else

// 程序空間在數據空間中可見(可使用const變量)

#define ?__I ? ? ? ? ? ? ? ?volatile const ? ? ? // 只讀

#endif

#endif

#ifndef ?__O

#define ?__O ? ? ? ? ? ? ? ?volatile ? ? ? ? ? ? // 只寫

#endif

#ifndef ?__IO

#define ?__IO ? ? ? ? ? ? ? volatile ? ? ? ? ? ? // 讀寫

#endif



?

typedef unsigned char ? ? ? ? ??uint8_t, ?INT8U, ?BYTE;

typedef ??signed char ? ? ? ? ??int8_t, ??INT8S;

typedef unsigned int ? ? ? ? ? ?uint16_t, INT16U, HWORD;

typedef ??signed int ? ? ? ? ? ?int16_t, ?INT16S;

typedef unsigned long int ? ? ??uint32_t, INT32U, WORD;

typedef ??signed long int ? ? ??int32_t, ?INT32S;

typedef unsigned long long int ?uint64_t, INT64U, DWORD;

typedef ??signed long long int ?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)



?

// ------------------------------------------------

// 字節操作類型

typedef union

{

? ??__IO char ? ?ch; ? ? ? ? // 字符

? ??__IO int8_t ?iByte; ? ? ?// 有符號數

? ??__IO uint8_t byte; ? ? ? // 字節

? ??struct

? ? {

? ? ? ??__IO uint8_t d0:4;

? ? ? ??__IO uint8_t d1:4;

? ? } hByte; ? ? ? ? ? ?// 半字節

? ??struct

? ? {

? ? ? ??__IO uint8_t d0:1;

? ? ? ??__IO uint8_t d1:1;

? ? ? ??__IO uint8_t d2:1;

? ? ? ??__IO uint8_t d3:1;

? ? ? ??__IO uint8_t d4:1;

? ? ? ??__IO uint8_t d5:1;

? ? ? ??__IO uint8_t d6:1;

? ? ? ??__IO uint8_t d7:1;

? ? } bittel; ? ? ? ? ? // 二進制位

} Byte_t, *Byte_pt;



?

// 半字操作類型(存儲模式:小端模式,低字節在低地址)

typedef union

{

? ??__IO int16_t ?iHWord; ? ?// 有符號數

? ??__IO uint16_t hWord; ? ? // 半字

? ??struct

? ? {

? ? ? ??__IO uint8_t d0;

? ? ? ??__IO uint8_t d1;

? ? } byte; ? ? ? ? ? ? // 字節

? ??struct

? ? {

? ? ? ??__IO uint8_t d0:4;

? ? ? ??__IO uint8_t d1:4;

? ? ? ??__IO uint8_t d2:4;

? ? ? ??__IO uint8_t d3:4;

? ? } hByte; ? ? ? ? ? ?// 半字節

? ??struct

? ? {

? ? ? ??__IO uint8_t d0:1;

? ? ? ??__IO uint8_t d1:1;

? ? ? ??__IO uint8_t d2:1;

? ? ? ??__IO uint8_t d3:1;

? ? ? ??__IO uint8_t d4:1;

? ? ? ??__IO uint8_t d5:1;

? ? ? ??__IO uint8_t d6:1;

? ? ? ??__IO uint8_t d7:1;

? ? ? ??__IO uint8_t d8:1;

? ? ? ??__IO uint8_t d9:1;

? ? ? ??__IO uint8_t d10:1;

? ? ? ??__IO uint8_t d11:1;

? ? ? ??__IO uint8_t d12:1;

? ? ? ??__IO uint8_t d13:1;

? ? ? ??__IO uint8_t d14:1;

? ? ? ??__IO uint8_t d15:1;

? ? } bittel; ? ? ? ? ? // 二進制位

} HWord_t, *HWord_pt;



?

// 字操作類型(存儲模式:小端模式)

typedef union

{

? ??__IO float ? ?fVal; ? ? ?// 單精度浮點數

? ??__IO int32_t ?iWord; ? ? // 有符號數

? ??__IO uint32_t word; ? ? ?// 字

? ??struct

? ? {

? ? ? ??__IO uint16_t d0;

? ? ? ??__IO uint16_t d1;

? ? } hWord; ? ? ? ? ? ?// 半字

? ??struct

? ? {

? ? ? ??__IO uint8_t d0;

? ? ? ??__IO uint8_t d1;

? ? ? ??__IO uint8_t d2;

? ? ? ??__IO uint8_t d3;

? ? } byte; ? ? ? ? ? ? // 字節

? ??struct

? ? {

? ? ? ??__IO uint8_t d0:4;

? ? ? ??__IO uint8_t d1:4;

? ? ? ??__IO uint8_t d2:4;

? ? ? ??__IO uint8_t d3:4;

? ? ? ??__IO uint8_t d4:4;

? ? ? ??__IO uint8_t d5:4;

? ? ? ??__IO uint8_t d6:4;

? ? ? ??__IO uint8_t d7:4;

? ? } hByte; ? ? ? ? ? ?// 半字節

? ??struct

? ? {

? ? ? ??__IO uint8_t d0:1;

? ? ? ??__IO uint8_t d1:1;

? ? ? ??__IO uint8_t d2:1;

? ? ? ??__IO uint8_t d3:1;

? ? ? ??__IO uint8_t d4:1;

? ? ? ??__IO uint8_t d5:1;

? ? ? ??__IO uint8_t d6:1;

? ? ? ??__IO uint8_t d7:1;

? ? ? ??__IO uint8_t d8:1;

? ? ? ??__IO uint8_t d9:1;

? ? ? ??__IO uint8_t d10:1;

? ? ? ??__IO uint8_t d11:1;

? ? ? ??__IO uint8_t d12:1;

? ? ? ??__IO uint8_t d13:1;

? ? ? ??__IO uint8_t d14:1;

? ? ? ??__IO uint8_t d15:1;

? ? ? ??__IO uint8_t d16:1;

? ? ? ??__IO uint8_t d17:1;

? ? ? ??__IO uint8_t d18:1;

? ? ? ??__IO uint8_t d19:1;

? ? ? ??__IO uint8_t d20:1;

? ? ? ??__IO uint8_t d21:1;

? ? ? ??__IO uint8_t d22:1;

? ? ? ??__IO uint8_t d23:1;

? ? ? ??__IO uint8_t d24:1;

? ? ? ??__IO uint8_t d25:1;

? ? ? ??__IO uint8_t d26:1;

? ? ? ??__IO uint8_t d27:1;

? ? ? ??__IO uint8_t d28:1;

? ? ? ??__IO uint8_t d29:1;

? ? ? ??__IO uint8_t d30:1;

? ? ? ??__IO uint8_t d31:1;

? ? } bittel; ? ? ? ? ? // 二進制位

} Word_t, *Word_pt;



?

// 雙字操作類型(存儲模式:小端模式)

typedef union

{

? ??__IO double ??dFVal; ? ? // 雙精度浮點數

? ??__IO int64_t ?iDWord; ? ?// 有符號數

? ??__IO uint64_t dWord; ? ? // 雙字

? ??struct

? ? {

? ? ? ??__IO uint32_t d0;

? ? ? ??__IO uint32_t d1;

? ? } word; ? ? ? ? ? ? // 字

? ??struct

? ? {

? ? ? ??__IO uint16_t d0;

? ? ? ??__IO uint16_t d1;

? ? ? ??__IO uint16_t d2;

? ? ? ??__IO uint16_t d3;

? ? } hWord; ? ? ? ? ? ?// 半字

? ??struct

? ? {

? ? ? ??__IO uint8_t d0;

? ? ? ??__IO uint8_t d1;

? ? ? ??__IO uint8_t d2;

? ? ? ??__IO uint8_t d3;

? ? ? ??__IO uint8_t d4;

? ? ? ??__IO uint8_t d5;

? ? ? ??__IO uint8_t d6;

? ? ? ??__IO uint8_t d7;

? ? } byte; ? ? ? ? ? ? // 字節

? ??struct

? ? {

? ? ? ??__IO uint8_t d0:4;

? ? ? ??__IO uint8_t d1:4;

? ? ? ??__IO uint8_t d2:4;

? ? ? ??__IO uint8_t d3:4;

? ? ? ??__IO uint8_t d4:4;

? ? ? ??__IO uint8_t d5:4;

? ? ? ??__IO uint8_t d6:4;

? ? ? ??__IO uint8_t d7:4;

? ? ? ??__IO uint8_t d8:4;

? ? ? ??__IO uint8_t d9:4;

? ? ? ??__IO uint8_t d10:4;

? ? ? ??__IO uint8_t d11:4;

? ? ? ??__IO uint8_t d12:4;

? ? ? ??__IO uint8_t d13:4;

? ? ? ??__IO uint8_t d14:4;

? ? ? ??__IO uint8_t d15:4;

? ? } hByte; ? ? ? ? ? ?// 半字節

? ??struct

? ? {

? ? ? ??__IO uint8_t d0:1;

? ? ? ??__IO uint8_t d1:1;

? ? ? ??__IO uint8_t d2:1;

? ? ? ??__IO uint8_t d3:1;

? ? ? ??__IO uint8_t d4:1;

? ? ? ??__IO uint8_t d5:1;

? ? ? ??__IO uint8_t d6:1;

? ? ? ??__IO uint8_t d7:1;

? ? ? ??__IO uint8_t d8:1;

? ? ? ??__IO uint8_t d9:1;

? ? ? ??__IO uint8_t d10:1;

? ? ? ??__IO uint8_t d11:1;

? ? ? ??__IO uint8_t d12:1;

? ? ? ??__IO uint8_t d13:1;

? ? ? ??__IO uint8_t d14:1;

? ? ? ??__IO uint8_t d15:1;

? ? ? ??__IO uint8_t d16:1;

? ? ? ??__IO uint8_t d17:1;

? ? ? ??__IO uint8_t d18:1;

? ? ? ??__IO uint8_t d19:1;

? ? ? ??__IO uint8_t d20:1;

? ? ? ??__IO uint8_t d21:1;

? ? ? ??__IO uint8_t d22:1;

? ? ? ??__IO uint8_t d23:1;

? ? ? ??__IO uint8_t d24:1;

? ? ? ??__IO uint8_t d25:1;

? ? ? ??__IO uint8_t d26:1;

? ? ? ??__IO uint8_t d27:1;

? ? ? ??__IO uint8_t d28:1;

? ? ? ??__IO uint8_t d29:1;

? ? ? ??__IO uint8_t d30:1;

? ? ? ??__IO uint8_t d31:1;

? ? ? ??__IO uint8_t d32:1;

? ? ? ??__IO uint8_t d33:1;

? ? ? ??__IO uint8_t d34:1;

? ? ? ??__IO uint8_t d35:1;

? ? ? ??__IO uint8_t d36:1;

? ? ? ??__IO uint8_t d37:1;

? ? ? ??__IO uint8_t d38:1;

? ? ? ??__IO uint8_t d39:1;

? ? ? ??__IO uint8_t d40:1;

? ? ? ??__IO uint8_t d41:1;

? ? ? ??__IO uint8_t d42:1;

? ? ? ??__IO uint8_t d43:1;

? ? ? ??__IO uint8_t d44:1;

? ? ? ??__IO uint8_t d45:1;

? ? ? ??__IO uint8_t d46:1;

? ? ? ??__IO uint8_t d47:1;

? ? ? ??__IO uint8_t d48:1;

? ? ? ??__IO uint8_t d49:1;

? ? ? ??__IO uint8_t d50:1;

? ? ? ??__IO uint8_t d51:1;

? ? ? ??__IO uint8_t d52:1;

? ? ? ??__IO uint8_t d53:1;

? ? ? ??__IO uint8_t d54:1;

? ? ? ??__IO uint8_t d55:1;

? ? ? ??__IO uint8_t d56:1;

? ? ? ??__IO uint8_t d57:1;

? ? ? ??__IO uint8_t d58:1;

? ? ? ??__IO uint8_t d59:1;

? ? ? ??__IO uint8_t d60:1;

? ? ? ??__IO uint8_t d61:1;

? ? ? ??__IO uint8_t d62:1;

? ? ? ??__IO uint8_t d63:1;

? ? } bittel; ? ? ? ? ? // 二進制位

} DWord_t, *DWord_pt;



?

// ------------------------------------------------------

// 時間計算

typedef struct CalTime

{

? ??__IO uint16_t bDelay:1; ?// 延時標識

? ??__IO uint16_t bExe:1; ? ?// 執行標識

? ??__IO uint16_t bCon:1; ? ?// 控制標識

? ??__IO uint16_t con:13; ? ?// 控制值 [0,8191]

? ??__IO uint16_t val; ? ? ? // 計數值

} CalTime_t, *CalTime_pt;



?

// ------------------------------------------------------

// ===單二進制位操作宏===

// 2字節長度

#define SetBit2B(Byte, Bit) ? ?( (Byte) |= ?(((uint16_t)1)<<(Bit)) )

#define ClrBit2B(Byte, Bit) ? ?( (Byte) &= ~(((uint16_t)1)<<(Bit)) )

#define ComBit2B(Byte, Bit) ? ?( (Byte) ^= ?(((uint16_t)1)<<(Bit)) )

#define GetBit2B(Byte, Bit) ? ?(((Byte) & ? (((uint16_t)1)<<(Bit))) ? 1 : 0)

// 4字節長度

#define SetBit4B(Byte, Bit) ? ?( (Byte) |= ?(((uint32_t)1)<<(Bit)) )

#define ClrBit4B(Byte, Bit) ? ?( (Byte) &= ~(((uint32_t)1)<<(Bit)) )

#define ComBit4B(Byte, Bit) ? ?( (Byte) ^= ?(((uint32_t)1)<<(Bit)) )

#define GetBit4B(Byte, Bit) ? ?(((Byte) & ? (((uint32_t)1)<<(Bit))) ? 1 : 0)

// 8字節長度

#define SetBit8B(Byte, Bit) ? ?( (Byte) |= ?(((uint64_t)1)<<(Bit)) )

#define ClrBit8B(Byte, Bit) ? ?( (Byte) &= ~(((uint64_t)1)<<(Bit)) )

#define ComBit8B(Byte, Bit) ? ?( (Byte) ^= ?(((uint64_t)1)<<(Bit)) )

#define GetBit8B(Byte, Bit) ? ?(((Byte) & ? (((uint64_t)1)<<(Bit))) ? 1 : 0)


?

// ===多二進制位操作宏===

#define SetBits(Byte, Bits) ? ?( (Byte) |= ?(Bits) )

#define ClrBits(Byte, Bits) ? ?( (Byte) &= ~(Bits) )

#define ComBits(Byte, Bits) ? ?( (Byte) ^= ?(Bits) )

#define GetBits(Byte, Bits) ? ?( (Byte) & ? (Bits) )

字節 頭文件
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1PD取電芯片 ECP5702規格書
  2. 0.88 MB   |  3次下載  |  免費
  3. 2PC5200 700V_10A GaN HEMT驅動器數據手冊
  4. 1.63 MB   |  1次下載  |  免費
  5. 31節電池用電池保護IC S-8261D系列數據手冊
  6. 3.07 MB   |  1次下載  |  1 積分
  7. 4PD取電芯片,可取5/9/12/15/20V電壓ECP5702數據手冊
  8. 0.88 MB   |  1次下載  |  免費
  9. 5飛騰FT2000-4 COM Express核心板技術手冊0603
  10. 1.22 MB  |  1次下載  |  免費
  11. 6飛騰S5000C-64雙路服務器系列應用宣傳冊--一乘科技
  12. 945.81 KB  |  1次下載  |  免費
  13. 7OPAx188-Q1 高精度、低噪聲、軌至軌輸出、36V、零漂移、汽車級運算放大器中文手冊
  14. 1.19 MB   |  次下載  |  1 積分
  15. 8EMC PCB設計總結
  16. 0.33 MB   |  次下載  |  免費

本月

  1. 1美的電磁爐電路原理圖資料
  2. 4.39 MB   |  22次下載  |  10 積分
  3. 2反激式開關電源設計解析
  4. 0.89 MB   |  16次下載  |  5 積分
  5. 3耗盡型MOS FET產品目錄選型表
  6. 0.14 MB   |  3次下載  |  免費
  7. 4PD取電芯片 ECP5702規格書
  8. 0.88 MB   |  3次下載  |  免費
  9. 5簡易光伏控制器原理圖資料
  10. 0.07 MB   |  1次下載  |  5 積分
  11. 62EDL05x06xx系列 600V半橋門驅動器帶集成自舉二極管(BSD)手冊
  12. 0.69 MB   |  1次下載  |  免費
  13. 7PC5200 700V_10A GaN HEMT驅動器數據手冊
  14. 1.63 MB   |  1次下載  |  免費
  15. 81節電池用電池保護IC S-8261D系列數據手冊
  16. 3.07 MB   |  1次下載  |  1 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233095次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191457次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81605次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73831次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分