亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mytype.h

?? stm32初級例程
?? H
字號:
#if !defined( _MYTYPE_H )
#define _MYTYPE_H


//常用變量類型定義
typedef unsigned char   tByte;
typedef unsigned int    tWord;



typedef unsigned char   uchar;
typedef unsigned int    uint;//int有的CPU是32位
typedef unsigned long   ulong;

#ifndef   BOOL
 //typedef unsigned char 	BOOL;
#endif

#define	int8            signed char
#define	int16           signed short
#define	int32           signed long
#define	uint8           unsigned char
#define	uint16          unsigned short
#define	uint32          unsigned long

//#define	u8           unsigned char
//#define	u16          unsigned short
//#define	u32          unsigned long

typedef unsigned char BOOLEAN;
typedef unsigned char INT8U;      /* Unsigned  8 bit quantity         */
typedef signed   char INT8S;      /* Signed    8 bit quantity         */
typedef unsigned short INT16U;    /* Unsigned 16 bit quantity         */
typedef signed   short INT16S;    /* Signed   16 bit quantity         */
typedef unsigned long INT32U;       /* Unsigned 32 bit quantity       */
typedef signed   long INT32S;       /* Signed   32 bit quantity       */
typedef float FP32;       /* Single precision floating point    */
typedef double FP64;      /* Double precision floating point      */

#define BYTE       INT8S         /* Define data types for backward compatibility ...   */
#define UBYTE      INT8U       /* ... to uC/OS V1.xx.  Not actually needed for ...   */
#define WORD       INT16S      /* ... uC/OS-II.            */
#define UWORD      INT16U
#define LONG       INT32S
#define ULONG      INT32U

typedef void (*pFUN)(void);
typedef void (*pFUNpar)(uint8);
typedef void (*pFUNparU8)(uint8);
typedef void (*pFUNparU16)(uint16);

typedef uint8 (*pU8FUN)(void);

typedef unsigned char OS_STK;       /* Each stack entry is 8-bit wide      */
//typedef INT16U             OS_FLAGS;   /* Date type for event flag bits (8, 16 or 32 bits)             */



#define SetBit(Value,Bit)  ( Value |= (0x01<<Bit) )     //Bit(0~7)//一定要用()
#define ClrBit(Value,Bit)  ( Value &= (~(0x01<<Bit)) )

#define SetBit32(Value,Bit)  ( Value |= (1UL<<Bit) )     //Bit(0~31)//一定要用()
#define ClrBit32(Value,Bit)  ( Value &= (~(1UL<<Bit)) )


#define BIT(n)             ( (uint8)((uint8)1<<n) )    //n(0~7)
#define BIT8(n)            ( (uint8)((uint8)1<<n) )    //n(0~7)
#define BIT16(n)           (  (uint16)((uint16)1<<n) )   //n(0~31)
#define BIT32(n)           (  (uint32)((uint32)1UL<<n) )   //n(0~31) 


//測試某位是否為1,為1返回1,為0返回為0
#define	isBit(dat, n)    ((dat&BIT8(n)) ? 1: 0)//0~7
#define isBit8(dat, n)   ((dat&BIT8(n)) ? 1: 0)//0~7

//測試某位是否為1,為1返回1,為0返回為0
#define	isBit16(dat, n)  ((dat&BIT16(n)) ? 1: 0)//0~15

#define	isBit32(dat, n)  ((dat&BIT32(n)) ? 1: 0)//0~31

//從16位數據拷貝到8位數據,高字節在前
#define cpyU8fU16(U8dat, U16dat)     \
{                                    \
   *((uint8 *)(U8dat+0))=U16dat>>8;  \
   *((uint8 *)(U8dat+1))=U16dat;     \
}

//從32位數據拷貝到8位數據,高字節在前
#define cpyU8fU32(U8dat, U32dat)     \
{                                    \
   *((uint8 *)U8dat)=(uint8)(U32dat>>24);     \
   *((uint8 *)(U8dat+1))=(uint8)(U32dat>>16); \
   *((uint8 *)(U8dat+2))=(uint8)(U32dat>>8);  \
   *((uint8 *)(U8dat+3))=(uint8)U32dat;     \
}

//從8位數據拷貝到16位數據,高字節在前
#define cpyU16fU8(U16dat, U8dat)     \
{                                    \
   U16dat = *((uint8 *)U8dat);       \
   U16dat <<= 8;                     \
   U16dat += *((uint8 *)(U8dat+1));  \
}

//從8位數據拷貝到32位數據,高字節在前
#define cpyU32fU8(U32dat, U8dat)     \
{                                    \
   U32dat = *((uint8 *)U8dat);       \
   U32dat <<= 8;                     \
   U32dat += *((uint8 *)(U8dat+1));  \
   U32dat <<= 8;                     \
   U32dat += *((uint8 *)(U8dat+2));  \
   U32dat <<= 8;                     \
   U32dat += *((uint8 *)(U8dat+3));  \
}


//  Intel && AMD
#define  LITTLE_ENDIAN 1

 // 字節序
#if defined(BIG_ENDIAN) && !defined(LITTLE_ENDIAN)

   #define htons(A)   (A)
   #define htonl(A)   (A)
   #define ntohs(A)   (A)
   #define ntohl(A)   (A)

#elif defined(LITTLE_ENDIAN) && !defined(BIG_ENDIAN)

   #define htons(A)    ((((uint16)(A) & 0xff00) >> 8) | \
                        (((uint16)(A) & 0x00ff) << 8))
   #define htonl(A)    ((((uint32)(A) & 0xff000000) >> 24) | \
                        (((uint32)(A) & 0x00ff0000) >> 8) | \
                        (((uint32)(A) & 0x0000ff00) << 8) | \
                        (((uint32)(A) & 0x000000ff) << 24))
   #define ntohs htons
   #define ntohl htonl

#else

   #error "Either BIG_ENDIAN or LITTLE_ENDIAN must be #defined, but not both."
   
   int checkCPUendian()  //檢查處理器是big-endian還是little-endian
   {
      union 
      {
      	unsigned int a;
       unsigned char b;            
      }c;
      c.a = 1;
      return (c.b == 1);       
   }  /*return 1 : little-endian, return 0:big-endian*/
#endif


//定義一些短延時(空操作)

//#define NOP()               __asm { nop }
//
//#define DelayNop1()         {NOP();}
//#define DelayNop2()         {DelayNop1(); NOP();}
//#define DelayNop3()         {DelayNop2(); NOP();}
//#define DelayNop4()         {DelayNop3(); NOP();}
//#define DelayNop5()         {DelayNop4(); NOP();}
//#define DelayNop6()         {DelayNop5(); NOP();}
//#define DelayNop7()         {DelayNop6(); NOP();}
//#define DelayNop8()         {DelayNop7(); NOP();}
//#define DelayNop9()         {DelayNop8(); NOP();}
//
//#define DelayNop(N)         DelayNop##N()


#define __NOP1__  __asm { nop }
#define __NOP2__ __NOP1__ __NOP1__
#define __NOP4__ __NOP2__ __NOP2__
#define __NOP8__ __NOP4__ __NOP4__
#define __NOP16__ __NOP8__ __NOP8__
#define __NOP32__ __NOP16__ __NOP16__
#define __NOP64__ __NOP32__ __NOP32__
#define __NOP128__ __NOP64__ __NOP64__


#define DelayNop(a)             \
    if ((a)&(0x01))    {__NOP1__}                    \
    if ((a)&(0x02))    {__NOP2__}                    \
    if ((a)&(0x04))    {__NOP4__}                    \
    if ((a)&(0x08))    {__NOP8__}                    \
    if ((a)&(0x10))    {__NOP16__}                    \
    if ((a)&(0x20))    {__NOP32__}                    \
    if ((a)&(0x40))    {__NOP64__}                    \
    if ((a)&(0x80))    {__NOP128__}                    




#include "BinType.h"




#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品国产91久久久久久久久 | 欧美视频中文一区二区三区在线观看| 91国内精品野花午夜精品| 91精品国产欧美日韩| 国产精品家庭影院| 久久精品国产精品亚洲精品| 一本到高清视频免费精品| 精品久久久久久久久久久久久久久久久 | 日本高清成人免费播放| 欧美tickling挠脚心丨vk| 亚洲成人动漫在线免费观看| 国产成人自拍高清视频在线免费播放| 欧美日韩国产综合一区二区 | 99久久婷婷国产综合精品| 精品免费一区二区三区| 日韩av在线免费观看不卡| 在线精品观看国产| 亚洲美女电影在线| 一本色道久久综合亚洲aⅴ蜜桃| 国产精品嫩草99a| 成人三级伦理片| 精品国产亚洲在线| 久久国产麻豆精品| 日韩欧美另类在线| 美女精品一区二区| 欧美一区二区三区视频在线观看| 亚洲va在线va天堂| 欧美日韩国产美| 日韩精品一卡二卡三卡四卡无卡| 欧美日韩一区中文字幕| 亚洲1区2区3区4区| 欧美丰满少妇xxxbbb| 日韩成人一级片| 欧美电视剧在线看免费| 久久99精品久久只有精品| 精品日韩一区二区| 久久精品国产久精国产| 久久久久国产精品免费免费搜索| 国产乱码字幕精品高清av| www久久久久| 成人av集中营| 亚洲自拍欧美精品| 91精品国产免费| 国产999精品久久久久久| 国产精品网站一区| 欧美在线视频全部完| 日韩电影一二三区| 久久精品在线观看| heyzo一本久久综合| 亚洲成人一二三| 日韩欧美色电影| 成人高清视频免费观看| 一区二区三区精品视频| 91麻豆精品国产91久久久久久| 久久精品国产99久久6| 中文字幕二三区不卡| 欧美伊人久久大香线蕉综合69| 婷婷亚洲久悠悠色悠在线播放| 久久这里都是精品| 色呦呦日韩精品| 日本sm残虐另类| 国产精品美女www爽爽爽| 欧美亚洲动漫另类| 国产一区二区免费视频| 一区二区在线观看免费视频播放| 日韩一区二区三区免费看 | 国内偷窥港台综合视频在线播放| 久久婷婷久久一区二区三区| 成人在线视频一区| 日韩av高清在线观看| 中文子幕无线码一区tr| 欧美高清精品3d| 成人动漫av在线| 午夜一区二区三区在线观看| 久久亚洲综合av| 色婷婷久久久久swag精品| 国产在线播精品第三| 亚洲主播在线观看| 中文字幕在线观看一区二区| 7777精品伊人久久久大香线蕉超级流畅| 国产精品996| 麻豆精品在线看| 亚洲香肠在线观看| 国产精品夫妻自拍| 久久久久久久久97黄色工厂| 91老司机福利 在线| 国产一区二区三区| 日韩电影一区二区三区| 亚洲宅男天堂在线观看无病毒| 久久日韩精品一区二区五区| 欧美人体做爰大胆视频| 在线观看欧美日本| 菠萝蜜视频在线观看一区| 久久99精品久久久| 日本人妖一区二区| 亚洲一区在线电影| 亚洲欧美一区二区三区久本道91| 欧美激情一区二区三区不卡| 日韩欧美的一区| 这里只有精品99re| 69堂成人精品免费视频| 欧美午夜免费电影| 欧美在线一二三| 欧美在线免费观看亚洲| 一本色道久久综合亚洲aⅴ蜜桃 | 国产精品久久久久久久久免费丝袜 | 国产乱淫av一区二区三区| 日本不卡的三区四区五区| 亚洲午夜私人影院| 一区二区三区视频在线看| 亚洲免费看黄网站| 亚洲欧美日韩在线不卡| 亚洲天堂网中文字| 亚洲欧美视频在线观看视频| 亚洲欧美欧美一区二区三区| 中文字幕色av一区二区三区| 国产精品人成在线观看免费| 国产精品久久久久7777按摩| 国产精品乱码久久久久久| 1区2区3区精品视频| 亚洲激情综合网| 亚洲高清在线精品| 美女一区二区三区| 国产美女精品一区二区三区| 国产成人综合网站| 一本久久精品一区二区| 欧美三电影在线| 日韩精品一区二区三区视频播放| 精品捆绑美女sm三区| 国产亚洲综合性久久久影院| 国产精品麻豆久久久| 亚洲欧美日韩精品久久久久| 性做久久久久久免费观看欧美| 日韩精品成人一区二区在线| 国产一区二区福利视频| 成人午夜激情在线| 91免费视频大全| 日韩午夜电影av| 欧美极品aⅴ影院| 亚洲3atv精品一区二区三区| 精品亚洲国内自在自线福利| av在线不卡免费看| 欧美日韩大陆一区二区| 国产日韩精品一区二区三区 | 色偷偷88欧美精品久久久| 欧美日韩一区二区不卡| 精品欧美久久久| 亚洲狠狠丁香婷婷综合久久久| 日韩专区中文字幕一区二区| 亚洲一区二区三区爽爽爽爽爽| 蜜臀av一区二区| www.久久精品| 91精品国产入口在线| 国产精品污网站| 伦理电影国产精品| 91麻豆免费在线观看| 精品国产欧美一区二区| 亚洲精品成人少妇| 国产精品综合av一区二区国产馆| 色诱视频网站一区| 国产亚洲一二三区| 天天综合天天综合色| av亚洲精华国产精华精| 欧美一区二区人人喊爽| 亚洲欧洲中文日韩久久av乱码| 久久99精品久久久久婷婷| 欧美性猛片aaaaaaa做受| 国产午夜亚洲精品羞羞网站| 日本va欧美va欧美va精品| 在线观看日韩电影| 自拍偷拍亚洲激情| 国产成人在线视频网址| 91麻豆精品91久久久久同性| 一区二区三区四区蜜桃| 成人精品国产一区二区4080| 日韩精品中文字幕在线不卡尤物| 亚洲综合另类小说| 99在线视频精品| 中文字幕av一区 二区| 国产在线精品一区二区三区不卡 | 国产精品一区二区在线播放| 欧美日韩一级片网站| 亚洲少妇中出一区| 成人一道本在线| 中文在线资源观看网站视频免费不卡 | 在线观看日韩电影| 综合久久一区二区三区| 丁香六月久久综合狠狠色| 久久久一区二区三区| 精品一区二区三区蜜桃| 欧美高清视频一二三区| 午夜影院在线观看欧美| 91官网在线免费观看| 亚洲精品成人悠悠色影视| 色先锋资源久久综合| 中文字幕一区二区5566日韩| 高清日韩电视剧大全免费| 久久香蕉国产线看观看99| 国产一区二区不卡| 久久久久久一级片|