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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? compiler.h

?? avr USBusbdemoavr USBusbdemo
?? H
字號:
/*H**************************************************************************
* NAME:         compiler.h
*----------------------------------------------------------------------------
* Copyright (c) 2006 Atmel.
*----------------------------------------------------------------------------
* RELEASE:      at90usb128-demo-cdc-1_0_3
* FILE_REV:     1.13.2.30
*----------------------------------------------------------------------------
* 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 signed 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 farcode __farflash
#define xdata
#define idata
#define data
#define At(x) @ x
#define pdata
#define bdata
// Memory Type Location
#ifndef _CONST_TYPE_
#  define _CONST_TYPE_ code
#endif

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

#include <iomacro.h>
#define SFR_W_EXT(a,b) SFR_W_R(b,a)
#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
#ifndef NULL
#define NULL    0
#endif
#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)

#  define Max(a, b)            ( (a)>(b) ? (a) : (b) )       // Take the max between a and b
#  define Min(a, b)            ( (a)<(b) ? (a) : (b) )       // Take the min between a and b

// Align on the upper value <val> on a <n> boundary
// i.e. Upper(0, 4)= 4
//      Upper(1, 4)= 4
//      Upper(2, 4)= 4
//      Upper(3, 4)= 4
//      Upper(4, 4)= 8
//      ../..
#  define Upper(val, n)        ( ((val)+(n)) & ~((n)-1) )

// Align up <val> on a <n> boundary
// i.e. Align_up(0, 4)= 0
//      Align_up(1, 4)= 4
//      Align_up(2, 4)= 4
//      Align_up(3, 4)= 4
//      Align_up(4, 4)= 4
//      ../..
#  define Align_up(val, n)     ( ((val)+(n)-1) & ~((n)-1) )

// Align down <val> on a <n> boundary
// i.e. Align_down(0, 4)= 0
//      Align_down(1, 4)= 0
//      Align_down(2, 4)= 0
//      Align_down(3, 4)= 0
//      Align_down(4, 4)= 4
//      ../..
#  define Align_down(val, n)   (  (val)        & ~((n)-1) )

/*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 )





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



/******************************************************************************/
/* GCC COMPILER                                                               */
/******************************************************************************/
   #ifdef AVRGCC
#define _CONST_TYPE_
#define _ConstType_	__flash
#define _MemType_
#define _GenericType_ __generic
#define code PROGMEM
#define xdata
#define idata
#define data
#define At(x) @ x
#define pdata
#define bdata
#define bit	U8
#define bool U8
   //#include <avr/sfr_defs.h>
   #include <avr/interrupt.h>
   #include <avr/pgmspace.h>
   #define Enable_interrupt() sei()
   #define Disable_interrupt() cli()

   #endif
#endif /* _COMPILER_H_ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合分类小说区另类春色亚洲小说欧美| 91麻豆精品91久久久久同性| 日本一区二区三区国色天香| 国产一区二区三区蝌蚪| 久久久久久**毛片大全| 国产成人日日夜夜| 日韩一区在线免费观看| 色8久久精品久久久久久蜜| 一区二区三区四区高清精品免费观看| 色妹子一区二区| 亚洲福中文字幕伊人影院| 欧美日韩视频在线观看一区二区三区 | 91一区二区在线观看| 一区二区三区日韩欧美精品| 欧美区在线观看| 国产在线视频一区二区三区| 国产精品欧美久久久久无广告| 97se亚洲国产综合自在线不卡| 亚洲午夜久久久久久久久电影网| 欧美日韩国产美女| 国产剧情一区在线| 亚洲精品视频在线观看免费| 3d成人动漫网站| 国产激情视频一区二区三区欧美| 亚洲视频在线一区| 欧美一级黄色录像| youjizz久久| 日本aⅴ亚洲精品中文乱码| 久久久av毛片精品| 91成人免费网站| 国产一区999| 午夜久久福利影院| 欧美极品美女视频| 91.成人天堂一区| 成人综合婷婷国产精品久久蜜臀 | 成人avav在线| 日日夜夜精品免费视频| 欧美激情一区不卡| 日韩三级伦理片妻子的秘密按摩| 成人ar影院免费观看视频| 美女尤物国产一区| 玉米视频成人免费看| 精品国产91亚洲一区二区三区婷婷| www.激情成人| 欧美一三区三区四区免费在线看| 成人午夜电影小说| 日韩国产欧美在线播放| 欧美激情资源网| 欧美一区二区三区免费在线看| 成人av综合在线| 狠狠色综合播放一区二区| 亚洲在线免费播放| 亚洲日穴在线视频| 国产欧美一区二区三区沐欲| 91精品国产色综合久久久蜜香臀| 99久久婷婷国产综合精品电影| 精品一区二区三区在线播放视频 | 91久久精品网| 风流少妇一区二区| 韩国一区二区在线观看| 亚洲综合在线观看视频| ...中文天堂在线一区| 久久久久九九视频| 精品粉嫩超白一线天av| 91精品国模一区二区三区| 欧美午夜精品一区二区蜜桃| 91麻豆国产在线观看| 成人一道本在线| 国产福利一区二区三区视频在线| 美女网站视频久久| 麻豆精品精品国产自在97香蕉| 丝袜诱惑亚洲看片| 亚洲电影激情视频网站| 亚洲一级在线观看| 亚洲自拍都市欧美小说| 亚洲乱码国产乱码精品精可以看| 国产精品嫩草99a| 中文字幕av不卡| 中文字幕在线免费不卡| 综合色天天鬼久久鬼色| 中文字幕一区日韩精品欧美| 国产精品成人免费在线| 亚洲三级视频在线观看| 亚洲男人的天堂一区二区| 亚洲色图第一区| 亚洲一区免费在线观看| 午夜免费久久看| 日韩av在线播放中文字幕| 美女视频网站黄色亚洲| 久久精品理论片| 国产成人一区在线| 成人精品gif动图一区| av电影天堂一区二区在线观看| 91在线观看美女| 欧美视频三区在线播放| 91精品国产麻豆| 久久久久国产精品厨房| 椎名由奈av一区二区三区| 一区二区三区欧美| 亚洲成年人影院| 久88久久88久久久| 成人永久aaa| 色欧美片视频在线观看| 欧美一卡二卡三卡| 国产欧美日韩麻豆91| 怡红院av一区二区三区| 日本欧美加勒比视频| 国产成人在线视频网址| 色婷婷亚洲婷婷| 91精品国产综合久久精品app | 成人小视频在线观看| proumb性欧美在线观看| 精品视频123区在线观看| 欧美一区二区三区视频免费播放| 久久精品免费在线观看| 亚洲卡通欧美制服中文| 日本美女视频一区二区| 国产成人免费在线观看不卡| 在线观看日韩精品| 2020国产精品自拍| 中文字幕视频一区| 精品制服美女久久| 91视频国产观看| 精品国产乱码久久久久久1区2区| 中文字幕亚洲欧美在线不卡| 免费精品视频在线| 99国产精品国产精品久久| 欧美日产在线观看| 中文字幕日韩一区| 国产在线视频不卡二| 欧美亚洲国产怡红院影院| 久久品道一品道久久精品| 亚洲444eee在线观看| av不卡免费在线观看| 欧美成人精品二区三区99精品| 亚洲男人的天堂网| 成人中文字幕合集| 欧美一区二区大片| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲永久精品国产| 国产福利91精品一区二区三区| 777午夜精品视频在线播放| 亚洲特黄一级片| 国产iv一区二区三区| 精品裸体舞一区二区三区| 亚洲成人在线观看视频| 99精品桃花视频在线观看| 欧美精品一区二区高清在线观看| 亚洲国产欧美另类丝袜| 91视频91自| 国产精品乱码一区二三区小蝌蚪| 精品午夜久久福利影院| 欧美理论在线播放| 亚洲一区国产视频| 色屁屁一区二区| 亚洲美女免费视频| 99这里只有久久精品视频| 国产拍欧美日韩视频二区| 韩国女主播成人在线观看| 欧美一区二区视频在线观看2022| 亚洲丰满少妇videoshd| 色嗨嗨av一区二区三区| 亚洲美女免费在线| 色系网站成人免费| 亚洲欧美视频在线观看| 91天堂素人约啪| 亚洲色图欧美偷拍| 91色.com| 亚洲自拍偷拍九九九| 欧美视频在线不卡| 水蜜桃久久夜色精品一区的特点| 欧美亚洲日本国产| 亚洲成人一区在线| 69堂成人精品免费视频| 毛片基地黄久久久久久天堂| 日韩西西人体444www| 久久草av在线| 国产日产亚洲精品系列| 成人激情电影免费在线观看| 亚洲欧美乱综合| 欧美私模裸体表演在线观看| 亚洲国产sm捆绑调教视频| 欧美影视一区在线| 奇米在线7777在线精品| 久久综合999| 国产·精品毛片| 中文字幕一区二区视频| 91福利国产精品| 免费在线观看不卡| 久久久久久久久蜜桃| 99视频精品全部免费在线| 亚洲五月六月丁香激情| 欧美一区二区三区四区久久| 国产一区二区导航在线播放| 久久久久99精品国产片| 成人妖精视频yjsp地址| 亚洲黄色尤物视频| 日韩欧美激情四射| 成人午夜精品在线| 亚洲成人动漫在线观看|