91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

電子發燒友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. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 日产国产精品亚洲系列 | 爱逼色| 午夜三级理论在线观看视频 | 欧美人与zoxxxx另类 | 久热国产在线 | 国产精品久久在线观看 | 成年午夜一级毛片视频 | 国产精品美女www爽爽爽视频 | 天天摸天天摸天天躁 | 国产成人精品午夜二三区 | 天堂网www中文在线资源 | 久久精品国产2020观看福利色 | 免费黄色网址网站 | 手机成人在线视频 | 最色网站| 亚洲天堂最新地址 | 免费看色视频 | 美国bj69 video18 | 亚洲五月婷婷 | 亚洲网站免费看 | 黄a在线 | 欧美色图综合网 | 欧美午夜小视频 | 五月亭亭免费高清在线 | www亚洲免费 | 亚洲综合色丁香婷婷六月图片 | 国产亚洲3p无码一区二区 | 日本韩国三级视频 | 成人精品第一区二区三区 | 色偷偷97 | 免费观看一级特黄三大片视频 | 日本一视频一区视频二区 | 色综合久久久久久久久久久 | 亚洲一区免费在线 | 丁香婷婷在线观看 | 怡红院色视频在线 | 久久综合九色综合欧洲 | 四虎最新紧急入口 | 亚洲天天做日日做天天看2018 | 国产精品 色 | 免费在线播放毛片 |