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

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

?? compiler.h

?? avr atmega frimily 使用PWM控制交流電機
?? H
字號:
/*H**************************************************************************
* NAME:         compiler.h
*----------------------------------------------------------------------------
* Copyright (c) 2004 Atmel.
*----------------------------------------------------------------------------
* RELEASE:      pwm3-ac-ctrl-motor-0_0_6
* FILE_REV:     1.13.2.20
*----------------------------------------------------------------------------
* PURPOSE:
* This file redefines dedicated IAR AVR
* keywords in order to ensure that any source file can be processed by
* these compilers.
*****************************************************************************/

#ifndef _COMPILER_H_
#define _COMPILER_H_

/*_____ I N C L U D E S ____________________________________________________*/


/*_____ D E C L A R A T I O N S ____________________________________________*/
#define LITTLE_ENDIAN

#ifndef ASM_INCLUDE // define ASM_INCLUDE in your a51 source code before include of .h file
typedef float               Float16;

typedef unsigned char       U8 ;
typedef unsigned short      U16;
typedef unsigned long       U32;
typedef signed char         S8 ;
typedef short               S16;
typedef long                S32;
#if (defined __C51__)
typedef bit                 Bool;    // Shall be used with _MEM_TYPE_BIT_ to optimize the memory.
#else
typedef unsigned char       Bool;
#endif

typedef U8                  Status;
typedef Bool                Status_bool;
#define PASS 0
#define FAIL 1



#if (defined __C51__)
#  define _MEM_TYPE_BIT_              bdata  // Used for bit accesses
#  define _MEM_TYPE_FAST_              data
#  define _MEM_TYPE_MEDFAST_          idata
#  define _MEM_TYPE_MEDSLOW_          pdata
#  define _MEM_TYPE_SLOW_             xdata
#else
#  define _MEM_TYPE_BIT_
#  define _MEM_TYPE_FAST_
#  define _MEM_TYPE_MEDFAST_
#  define _MEM_TYPE_MEDSLOW_
#  define _MEM_TYPE_SLOW_
#endif

typedef unsigned char       Uchar;


typedef unsigned char       Uint8;
typedef unsigned int        Uint16;
typedef unsigned long int   Uint32;

typedef char                Int8;
typedef int                 Int16;
typedef long int            Int32;

typedef unsigned char       Byte;
typedef unsigned int        Word;
typedef unsigned long int   DWord;

typedef union
{
  Uint32 dw; // l changed in dw (double word) because l is used for signed long...
  Uint16 w[2];
  Uint8  b[4];
} Union32;

typedef union
{
  Uint16 w;
  Uint8  b[2];
} Union16;

#ifdef __IAR_SYSTEMS_ICC__
typedef char     bit;
typedef int      p_uart_ptchar;
typedef int      r_uart_ptchar;
#endif
#ifdef __CODEVISIONAVR__
typedef char     bit;
typedef int      p_uart_ptchar;
typedef char     r_uart_ptchar;
#endif
#if !defined(__IAR_SYSTEMS_ICC__) && !defined(___ICC__)
typedef char      p_uart_ptchar;
typedef char      r_uart_ptchar;
#endif

#endif

/**********************************************************************************/
/* codevision COMPILER (__CODEVISIONAVR__)                                                 */
/**********************************************************************************/
#ifdef __ICC__
#define _ConstType_	lit
#define _MemType_
#define _GenericType_ __generic
#define code lit
#define xdata
#define idata
#define data
#endif
/**********************************************************************************/
/* IAR COMPILER (__IAR_SYSTEMS_ICC__)                                             */
/**********************************************************************************/
#ifdef __IAR_SYSTEMS_ICC__
#include "inavr.h"
#define _ConstType_	__flash
#define _MemType_
#define _GenericType_ __generic
#define code __flash
#define xdata
#define idata
#define data
#define At(x) @ x
#define pdata
#define bdata

#define Enable_interrupt() __enable_interrupt()
#define Disable_interrupt() __disable_interrupt()
#endif


/* General purpose defines */
/*#define _ConstType_	__farflash
#define _MemType_
#define _GenericType_ __generic
#define code __farflash
#define xdata
#define idata
#define data*/




/*_____ M A C R O S ________________________________________________________*/
/* little-big endian management */
#define INTEL_ALIGNMENT     LITTLE_ENDIAN
#define MOTOROLA_ALIGNMENT  BIG_ENDIAN

// U16/U32 endian handlers
#ifdef LITTLE_ENDIAN     // => 16bit: (LSB,MSB), 32bit: (LSW,MSW) or (LSB0,LSB1,LSB2,LSB3) or (MSB3,MSB2,MSB1,MSB0)
#  define MSB(u16)        (((U8* )&u16)[1])
#  define LSB(u16)        (((U8* )&u16)[0])
#  define MSW(u32)        (((U16*)&u32)[1])
#  define LSW(u32)        (((U16*)&u32)[0])
#  define MSB0(u32)       (((U8* )&u32)[3])
#  define MSB1(u32)       (((U8* )&u32)[2])
#  define MSB2(u32)       (((U8* )&u32)[1])
#  define MSB3(u32)       (((U8* )&u32)[0])
#  define LSB0(u32)       MSB3(u32)
#  define LSB1(u32)       MSB2(u32)
#  define LSB2(u32)       MSB1(u32)
#  define LSB3(u32)       MSB0(u32)
#else // BIG_ENDIAN         => 16bit: (MSB,LSB), 32bit: (MSW,LSW) or (LSB3,LSB2,LSB1,LSB0) or (MSB0,MSB1,MSB2,MSB3)
#  define MSB(u16)        (((U8* )&u16)[0])
#  define LSB(u16)        (((U8* )&u16)[1])
#  define MSW(u32)        (((U16*)&u32)[0])
#  define LSW(u32)        (((U16*)&u32)[1])
#  define MSB0(u32)       (((U8* )&u32)[0])
#  define MSB1(u32)       (((U8* )&u32)[1])
#  define MSB2(u32)       (((U8* )&u32)[2])
#  define MSB3(u32)       (((U8* )&u32)[3])
#  define LSB0(u32)       MSB3(u32)
#  define LSB1(u32)       MSB2(u32)
#  define LSB2(u32)       MSB1(u32)
#  define LSB3(u32)       MSB0(u32)
#endif

// Endian converters
#define Le16(b)                        \
   (  ((U16)(     (b) &   0xFF) << 8)  \
   |  (     ((U16)(b) & 0xFF00) >> 8)  \
   )
#define Le32(b)                             \
   (  ((U32)(     (b) &       0xFF) << 24)  \
   |  ((U32)((U16)(b) &     0xFF00) <<  8)  \
   |  (     ((U32)(b) &   0xFF0000) >>  8)  \
   |  (     ((U32)(b) & 0xFF000000) >> 24)  \
   )

// host to network conversion: used for Intel HEX format, TCP/IP, ...
// Convert a 16-bit value from host-byte order to network-byte order
// Standard Unix, POSIX 1003.1g (draft)

#ifdef LITTLE_ENDIAN
#  define htons(a)    Le16(a)
#define ntohs(a)    htons(a)
#  define htonl(a)    Le32(a)
#define ntohl(a)    htonl(a)
#else
#define htons(a)    (a)
#define ntohs(a)    (a)
#define htonl(a)    (a)
#define ntohl(a)    (a)
#endif


// Constants
#define ENABLE   1
#define ENABLED  1
#define DISABLED 0
#define DISABLE  0
#define FALSE   (0==1)
#define TRUE    (1==1)

#define KO      0
#define OK      1
#define OFF     0
#define ON      1
#define NULL    0
#ifndef ASM_INCLUDE // define ASM_INCLUDE in your a51 source code before include of .h file
#define CLR     0
#define SET     1
#endif

/* Bit and bytes manipulations */
#define LOW(U16)                ((Uchar)U16)
#define HIGH(U16)               ((Uchar)(U16>>8))
#define TST_BIT_X(addrx,mask)   (*addrx & mask)
#define SET_BIT_X(addrx,mask)   (*addrx = (*addrx | mask))
#define CLR_BIT_X(addrx,mask)   (*addrx = (*addrx & ~mask))
#define OUT_X(addrx,value)      (*addrx = value)
#define IN_X(addrx)             (*addrx)

/*M**************************************************************************
* NAME: Long_call
*----------------------------------------------------------------------------
* PARAMS:
* addr: address of the routine to call
*----------------------------------------------------------------------------
* PURPOSE:
* Call the routine at address addr: generate an Assembly LCALL addr opcode.
*----------------------------------------------------------------------------
* EXAMPLE:
* Long_call(0); // Software reset (if no IT used before)
*----------------------------------------------------------------------------
* NOTE:
* May be used as a long jump opcode in some special cases
*****************************************************************************/
#define Long_call(addr)         ((*(void (_ConstType_*)(void))(addr))())

/* {For Langdoc} */

/***********************************************************
 SET_SFR_BIT macro
  parameters
    sfr_reg : defined value in include file for sfr register
    bit_pos : defined value B_XX in include file for particular
              bit of sfr register
    bit_val : CLR / SET
************************************************************/
#define SET_SFR_BIT(sfr_reg, bit_pos, bit_val) { sfr_reg &= ~(1<<(bit_pos)); sfr_reg |= ((bit_val)<<(bit_pos));}

/***********************************************************
 bit_is_clear macro
  parameters
    PORT     : defined value in include file for sfr register
    POSITION : defined value in include file for particular
              bit of sfr register
  example : if (bit_is_clear(PORTB,PORTB3)) ...
************************************************************/
#define bit_is_clear(PORT,POSITION) ((PORT & (1<<POSITION)) == 0 )

/***********************************************************
 bit_is_set macro
  parameters
    PORT     : defined value in include file for sfr register
    POSITION : defined value in include file for particular
              bit of sfr register
  example : if (bit_is_set(PORTB,PORTB3)) ...
************************************************************/
#define bit_is_set(PORT,POSITION) ((PORT & (1<<POSITION)) != 0 )



/******************************************************************************/
/* IAR COMPILER                                                               */
/******************************************************************************/

#define __IOMACRO_H

#define TID_GUARD(proc) ((__TID__ & 0x7FF0) != ((90 << 8) | ((proc) << 4)))


/*----------------------------------------------------------------------------*/
#ifdef __IAR_SYSTEMS_ASM__
/*----------------------------------------------------------------------------*/

/* Byte sized SFRs */
#define SFR_B_BITS(_NAME,_ADDR,_A,_B,_C,_D,_E,_F,_G,_H)\
	sfrb	_NAME = _ADDR
#define SFR_B_BITS_EXT(_NAME,_ADDR,_A,_B,_C,_D,_E,_F,_G,_H)\
	sfrb	_NAME = _ADDR
#define SFR_B2_BITS(_NAME1,_NAME2,_ADDR,_A,_B,_C,_D,_E,_F,_G,_H)\
	ASMSFRB2 _NAME1, _NAME2, _ADDR

ASMSFRB2 MACRO
	sfrb	\1 = \3
	sfrb	\2 = \3
	ENDM


/* Word sized SFRs, needs to be expanded into an assembler macro first. */
#define SFR_W_BITS(_NAME, _ADDR, _A,_B,_C,_D,_E,_F,_G,_H, _I,_J,_K,_L,_M,_N,_O,_P)\
	ASMSFRW	_NAME, _ADDR

#define SFR_W_BITS_EXT(_NAME, _ADDR, _A,_B,_C,_D,_E,_F,_G,_H, _I,_J,_K,_L,_M,_N,_O,_P)\
	ASMSFRW	_NAME, _ADDR

ASMSFRW	MACRO
	sfrw	\1  = \2
	sfrb	\1L = (\2+0)
	sfrb	\1H = (\2+1)
	ENDM

#endif /* __IAR_SYSTEMS_ASM__ */

/*----------------------------------------------------------------------------*/
#ifdef __ICCAVR__
/*----------------------------------------------------------------------------*/
#define __BYTEBITS(_NAME,_A,_B,_C,_D,_E,_F,_G,_H) \
unsigned char _NAME ## _ ## _A:1, \
              _NAME ## _ ## _B:1, \
              _NAME ## _ ## _C:1, \
              _NAME ## _ ## _D:1, \
              _NAME ## _ ## _E:1, \
              _NAME ## _ ## _F:1, \
              _NAME ## _ ## _G:1, \
              _NAME ## _ ## _H:1;

#define SFR_B_BITS(_NAME, _ADDR, _A,_B,_C,_D,_E,_F,_G,_H) \
    __io union { \
      unsigned char   _NAME;           /* The sfrb as 1 byte */ \
      struct {                        /* The sfrb as 8 bits */ \
        __BYTEBITS(_NAME, _A,_B,_C,_D,_E,_F,_G,_H) \
      };  \
    } @ _ADDR;
#define SFR_B2_BITS(_NAME1, _NAME2, _ADDR, _A,_B,_C,_D,_E,_F,_G,_H) \
    __io union { \
      unsigned char   _NAME1;           /* The sfrb as 1 byte */ \
      unsigned char   _NAME2;           /* The sfrb as 1 byte */ \
      struct {                        /* The sfrb as 8 bits */ \
        __BYTEBITS(_NAME1, _A,_B,_C,_D,_E,_F,_G,_H) \
      };  \
      struct {                        /* The sfrb as 8 bits */ \
        __BYTEBITS(_NAME2, _A,_B,_C,_D,_E,_F,_G,_H) \
      };  \
    } @ _ADDR;
#define SFR_B_BITS_EXT(_NAME, _ADDR, _A,_B,_C,_D,_E,_F,_G,_H) \
    __tiny __no_init volatile union { \
      unsigned char   _NAME;           /* The sfrb as 1 byte */ \
      struct {                        /* The sfrb as 8 bits */ \
        __BYTEBITS(_NAME, _A,_B,_C,_D,_E,_F,_G,_H) \
      };  \
    } @ _ADDR;

#define SFR_W_BITS(_NAME, _ADDR, _A,_B,_C,_D,_E,_F,_G,_H, _I,_J,_K,_L,_M,_N,_O,_P) \
    __io union { \
      unsigned short  _NAME;  /* The sfrw as 1 short */ \
      struct {                /* The sfrw as 16 bits */ \
        __BYTEBITS(_NAME, _A,_B,_C,_D,_E,_F,_G,_H)   /* Bit names defined by user */  \
        __BYTEBITS(_NAME, _I,_J,_K,_L,_M,_N,_O,_P)   /* Bit names defined by user */  \
      };  \
      struct { /* The sfrw as 2 bytes */ \
        unsigned char _NAME ## L; \
        unsigned char _NAME ## H; \
      };  \
      struct {                          /* The sfrw as 2 x 8 bits */ \
        __BYTEBITS(_NAME ## L, Bit0,Bit1,Bit2,Bit3,Bit4,Bit5,Bit6,Bit7)  /* Bit names hard coded to 0-7 */ \
        __BYTEBITS(_NAME ## H, Bit0,Bit1,Bit2,Bit3,Bit4,Bit5,Bit6,Bit7)  /* Bit names hard coded to 0-7 */ \
      };  \
    } @ _ADDR;

#define SFR_W_BITS_EXT(_NAME, _ADDR, _A,_B,_C,_D,_E,_F,_G,_H, _I,_J,_K,_L,_M,_N,_O,_P) \
   __io union { \
    unsigned short  _NAME;   \
     struct {                /* The sfrw_ext as 16 bits */ \
        __BYTEBITS(_NAME, _A,_B,_C,_D,_E,_F,_G,_H)   /* Bit names defined by user */  \
        __BYTEBITS(_NAME, _I,_J,_K,_L,_M,_N,_O,_P)   /* Bit names defined by user */  \
      };  \
      struct { /* The sfrw _ext as 2 bytes */ \
        unsigned char _NAME ## L; \
        unsigned char _NAME ## H; \
      };  \
      struct {                          /* The sfrw_ext as 2 x 8 bits */ \
        __BYTEBITS(_NAME ## L, Bit0,Bit1,Bit2,Bit3,Bit4,Bit5,Bit6,Bit7)  /* Bit names hard coded to 0-7 */ \
        __BYTEBITS(_NAME ## H, Bit0,Bit1,Bit2,Bit3,Bit4,Bit5,Bit6,Bit7)  /* Bit names hard coded to 0-7 */ \
      };  \
    } @ _ADDR;

#endif

#define SFR_B(_NAME, _ADDR) SFR_B_BITS(_NAME, _ADDR, \
                                    Bit0,Bit1,Bit2,Bit3,Bit4,Bit5,Bit6,Bit7)
#define SFR_B2(_NAME1, _NAME2, _ADDR) SFR_B2_BITS(_NAME1, _NAME2, _ADDR, \
                                    Bit0,Bit1,Bit2,Bit3,Bit4,Bit5,Bit6,Bit7)
#define SFR_B_EXT(_NAME, _ADDR) SFR_B_BITS_EXT(_NAME, _ADDR, \
                                    Bit0,Bit1,Bit2,Bit3,Bit4,Bit5,Bit6,Bit7)

#define SFR_W(_NAME, _ADDR)  SFR_W_BITS(_NAME, _ADDR, \
                                    Bit0,Bit1,Bit2,Bit3,Bit4,Bit5,Bit6,Bit7, \
                                    Bit8,Bit9,Bit10,Bit11,Bit12,Bit13,Bit14,Bit15)

#define SFR_W_EXT(_NAME, _ADDR)  SFR_W_BITS_EXT(_NAME, _ADDR, \
                                    Bit0,Bit1,Bit2,Bit3,Bit4,Bit5,Bit6,Bit7, \
                                    Bit8,Bit9,Bit10,Bit11,Bit12,Bit13,Bit14,Bit15)

#endif /* _COMPILER_H_ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
夫妻av一区二区| 欧美亚一区二区| 7777女厕盗摄久久久| 日韩精品一区二区三区蜜臀| 最新国产成人在线观看| 秋霞午夜鲁丝一区二区老狼| 91在线精品一区二区| 欧美一级日韩免费不卡| 伊人色综合久久天天| 国产一区二区三区黄视频 | 在线免费亚洲电影| 欧美一区二区三区日韩视频| 亚洲精品免费看| 国产91精品免费| 国产亚洲一区字幕| 午夜视频久久久久久| 色狠狠色狠狠综合| 亚洲少妇屁股交4| 成人av电影在线| 久久蜜臀精品av| 激情综合一区二区三区| 日韩一级成人av| 日韩av在线播放中文字幕| 在线视频一区二区三| 亚洲女人小视频在线观看| 国产成人无遮挡在线视频| 欧美精品一区二区三区视频| 蜜桃久久av一区| 日韩精品一区国产麻豆| 免费视频一区二区| 日韩欧美第一区| 加勒比av一区二区| 精品国产免费人成电影在线观看四季| 日韩精品一区二区三区视频播放| 91精品国产综合久久蜜臀| 亚洲成人一区二区| 欧美午夜视频网站| 午夜视频久久久久久| 欧美精品黑人性xxxx| 午夜激情一区二区| 欧美一区在线视频| 麻豆精品蜜桃视频网站| 2014亚洲片线观看视频免费| 国产.欧美.日韩| 国产精品久久久久婷婷二区次| 亚洲精品videosex极品| 91久久线看在观草草青青| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲美女在线一区| 欧洲精品一区二区| 另类调教123区| 国产视频一区在线观看| 99久久精品国产毛片| 亚洲乱码国产乱码精品精小说 | 欧美精品v日韩精品v韩国精品v| 欧美va亚洲va在线观看蝴蝶网| 一区在线观看免费| 欧洲一区在线电影| 蜜桃91丨九色丨蝌蚪91桃色| 久久久久高清精品| 91成人看片片| 久久99精品一区二区三区| 欧美国产视频在线| 欧美在线看片a免费观看| 热久久一区二区| 国产区在线观看成人精品 | 在线观看网站黄不卡| 日韩电影一区二区三区四区| 久久久蜜臀国产一区二区| 色哟哟在线观看一区二区三区| 日韩精品专区在线影院重磅| 国产精品夜夜爽| 亚洲国产婷婷综合在线精品| 精品国产乱码91久久久久久网站| 亚洲不卡一区二区三区| 精品国产免费久久| 色综合激情五月| 国产精品中文有码| 亚洲午夜影视影院在线观看| 久久一日本道色综合| 欧美午夜不卡在线观看免费| 国产精品一区二区久久不卡| 亚洲国产精品视频| 国产亚洲精品bt天堂精选| 欧美日韩dvd在线观看| 99综合影院在线| 激情综合色播激情啊| 亚洲精品视频自拍| 久久久精品一品道一区| 欧美三级欧美一级| 9色porny自拍视频一区二区| 激情综合色综合久久| 丝袜亚洲另类欧美综合| 91丨porny丨最新| 国内精品写真在线观看| 午夜一区二区三区视频| 国产精品入口麻豆九色| 久久一区二区视频| 欧美大片一区二区三区| 欧美精品一二三四| 色噜噜狠狠一区二区三区果冻| 亚洲另类在线制服丝袜| 中文字幕在线观看不卡视频| 久久久亚洲精品一区二区三区| 国产精品主播直播| 日韩av一区二区在线影视| 亚洲综合久久久| 亚洲欧美视频在线观看视频| 久久精品夜色噜噜亚洲aⅴ| 99久久99久久综合| www.欧美日韩国产在线| 国产在线播放一区三区四| 亚洲高清视频中文字幕| 国产欧美日韩另类一区| 亚洲国产岛国毛片在线| 日韩视频在线永久播放| 91精品婷婷国产综合久久性色| 免费高清在线一区| 亚洲午夜久久久久久久久电影网 | 亚洲精品国产一区二区三区四区在线| 国产成人免费在线观看不卡| 亚洲成人第一页| 一区二区三区在线播| 亚洲视频1区2区| 国产三级精品在线| 久久免费美女视频| 日韩欧美国产一区二区在线播放 | 麻豆精品在线看| 日韩 欧美一区二区三区| 亚洲精品国产精华液| 国产精品蜜臀在线观看| 欧美一区二区在线视频| 欧美不卡视频一区| 精品国产麻豆免费人成网站| 欧美精品一区二区三| 久久亚洲二区三区| 国产欧美一区二区精品性色| 18欧美亚洲精品| 亚洲精品成人悠悠色影视| 亚洲理论在线观看| 亚洲成av人片在www色猫咪| 亚洲猫色日本管| 偷拍与自拍一区| 麻豆91精品视频| 国产乱码精品一区二区三区忘忧草| 18涩涩午夜精品.www| 亚洲少妇屁股交4| 国产精品不卡在线观看| 亚洲裸体在线观看| 日韩激情av在线| 精品一区二区久久久| 国产精品一二三区| 欧美日韩高清一区二区| 日韩午夜中文字幕| 久久久不卡网国产精品二区 | 欧美福利视频一区| 欧美男男青年gay1069videost| 毛片一区二区三区| 国产精品亚洲视频| 国产精品一区二区在线观看网站| 亚洲自拍偷拍综合| 日韩高清不卡在线| 国产一区二区三区四区五区入口 | 成人黄页毛片网站| 色先锋aa成人| 欧美一区二区视频网站| 久久久久久久久99精品| 中文字幕一区二区在线观看| 亚洲成人手机在线| 国产乱码精品一区二区三区忘忧草| 日本aⅴ免费视频一区二区三区| 亚洲欧美日本韩国| 免费精品99久久国产综合精品| 亚洲国产精品人人做人人爽| 精品一区二区免费| 91国产视频在线观看| 久久一区二区视频| 亚洲成人1区2区| 奇米影视一区二区三区| 91丝袜呻吟高潮美腿白嫩在线观看| 国产成人高清在线| 欧美裸体bbwbbwbbw| 国产精品视频在线看| 同产精品九九九| 欧美中文字幕不卡| 国产欧美日韩视频一区二区| 天天操天天色综合| 色婷婷综合久久久久中文一区二区| 99久久精品国产网站| 精品国产百合女同互慰| 中文字幕一区二区不卡| 久88久久88久久久| 日韩欧美成人一区二区| 亚洲一区二区三区国产| 成av人片一区二区| 久久九九全国免费| 国产精品一区在线观看乱码 | 亚洲免费资源在线播放| 国产二区国产一区在线观看| 欧美一卡2卡3卡4卡|