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

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

?? hal.h

?? 語言為C語言
?? H
?? 第 1 頁 / 共 3 頁
字號:
#define INUM_T3    11
#define INUM_T4    12
#define INUM_P0INT 13
#define INUM_UTX1  14
#define INUM_P1INT 15
#define INUM_RF    16
#define INUM_WDT   17

#define NBR_OF_INTERRUPTS 18


#define INT_ENABLE_RF(on)     { (on) ? (IEN2 |= 0x01) : (IEN2 &= ~0x01); }
#define INT_ENABLE_RFERR(on)  { RFERRIE = on; }
#define INT_ENABLE_T2(on)     { T2IE    = on; }
#define INT_ENABLE_URX0(on)   { URX0IE  = on; }


#define INT_GETFLAG_RFERR() RFERRIF
#define INT_GETFLAG_RF()    S1CON &= ~0x03


#define INT_SETFLAG_RFERR(f) RFERRIF= f
#define INT_SETFLAG_RF(f)  { (f) ? (S1CON |= 0x03) : (S1CON &= ~0x03); }
#define INT_SETFLAG_T2(f)  { T2IF  = f;  }




/******************************************************************************
*******************         Common USART functions/macros   *******************
******************************************************************************/

// The macros in this section are available for both SPI and UART operation.

//*****************************************************************************

// Example usage:
//   USART0_FLUSH();
#define USART_FLUSH(num)              (U##num##UCR |= 0x80)
#define USART0_FLUSH()                USART_FLUSH(0)
#define USART1_FLUSH()                USART_FLUSH(1)

// Example usage:
//   if (USART0_BUSY())
//     ...
#define USART_BUSY(num)               (U##num##CSR & 0x01 == 0x01)
#define USART0_BUSY()                 USART_BUSY(0)
#define USART1_BUSY()                 USART_BUSY(1)

// Example usage:
//   while(!USART1_BYTE_RECEIVED())
//     ...
#define USART_BYTE_RECEIVED(num)      ((U##num##CSR & 0x04) == 0x04)
#define USART0_BYTE_RECEIVED()        USART_BYTE_RECEIVED(0)
#define USART1_BYTE_RECEIVED()        USART_BYTE_RECEIVED(1)

// Example usage:
//   if(USART1_BYTE_TRANSMITTED())
//     ...
#define USART_BYTE_TRANSMITTED(num)   ((U##num##CSR & 0x02) == 0x02)
#define USART0_BYTE_TRANSMITTED()     USART_BYTE_TRANSMITTED(0)
#define USART1_BYTE_TRANSMITTED()     USART_BYTE_TRANSMITTED(1)


/******************************************************************************
*******************  USART-UART specific functions/macros   *******************
******************************************************************************/
// The macros in this section simplify UART operation.
#define BAUD_E(baud, clkDivPow) (     \
    (baud==2400)   ?  6  +clkDivPow : \
    (baud==4800)   ?  7  +clkDivPow : \
    (baud==9600)   ?  8  +clkDivPow : \
    (baud==14400)  ?  8  +clkDivPow : \
    (baud==19200)  ?  9  +clkDivPow : \
    (baud==28800)  ?  9  +clkDivPow : \
    (baud==38400)  ?  10 +clkDivPow : \
    (baud==57600)  ?  10 +clkDivPow : \
    (baud==76800)  ?  11 +clkDivPow : \
    (baud==115200) ?  11 +clkDivPow : \
    (baud==153600) ?  12 +clkDivPow : \
    (baud==230400) ?  12 +clkDivPow : \
    (baud==307200) ?  13 +clkDivPow : \
    0  )


#define BAUD_M(baud) (      \
    (baud==2400)   ?  59  : \
    (baud==4800)   ?  59  : \
    (baud==9600)   ?  59  : \
    (baud==14400)  ?  216 : \
    (baud==19200)  ?  59  : \
    (baud==28800)  ?  216 : \
    (baud==38400)  ?  59  : \
    (baud==57600)  ?  216 : \
    (baud==76800)  ?  59  : \
    (baud==115200) ?  216 : \
    (baud==153600) ?  59  : \
    (baud==230400) ?  216 : \
    (baud==307200) ?  59  : \
  0)



//*****************************************************************************

// Macro for setting up a UART transfer channel. The macro sets the appropriate
// pins for peripheral operation, sets the baudrate, and the desired options of
// the selected uart. _uart_ indicates which uart to configure and must be
// either 0 or 1. _baudRate_ must be one of 2400, 4800, 9600, 14400, 19200,
// 28800, 38400, 57600, 76800, 115200, 153600, 230400 or 307200. Possible
// options are defined below.
//
// Example usage:
//
//      UART_SETUP(0,115200,HIGH_STOP);
//
// This configures uart 0 for contact with "hyperTerminal", setting:
//      Baudrate:           115200
//      Data bits:          8
//      Parity:             None
//      Stop bits:          1
//      Flow control:       None
//

#define UART_SETUP(uart, baudRate, options)      \
   do {                                          \
      if((uart) == 0){                           \
         if(PERCFG & 0x01){                      \
            P1SEL |= 0x30;                       \
         } else {                                \
            P0SEL |= 0x0C;                       \
         }                                       \
      }                                          \
      else {                                     \
         if(PERCFG & 0x02){                      \
            P1SEL |= 0xC0;                       \
         } else {                                \
            P0SEL |= 0x30;                       \
         }                                       \
      }                                          \
                                                 \
      U##uart##GCR = BAUD_E((baudRate),CLKSPD);  \
      U##uart##BAUD = BAUD_M(baudRate);          \
                                                 \
      U##uart##CSR |= 0x80;                      \
                                                 \
                                                 \
      U##uart##UCR |= ((options) | 0x80);        \
                                                 \
      if((options) & TRANSFER_MSB_FIRST){        \
         U##uart##GCR |= 0x20;                   \
      }                                          \
      U##uart##CSR |= 0x40;                      \
   } while(0)



//can do this via a macro
#define halSetBaud(baud) UART_SETUP(0, baud, HIGH_STOP);


// Options for UART_SETUP macro
#define FLOW_CONTROL_ENABLE         0x40
#define FLOW_CONTROL_DISABLE        0x00
#define EVEN_PARITY                 0x20
#define ODD_PARITY                  0x00
#define NINE_BIT_TRANSFER           0x10
#define EIGHT_BIT_TRANSFER          0x00
#define PARITY_ENABLE               0x08
#define PARITY_DISABLE              0x00
#define TWO_STOP_BITS               0x04
#define ONE_STOP_BITS               0x00
#define HIGH_STOP                   0x02
#define LOW_STOP                    0x00
#define HIGH_START                  0x01
#define TRANSFER_MSB_FIRST          0x80
#define TRANSFER_MSB_LAST           0x00
#define UART_ENABLE_RECEIVE         0x40


// Example usage:
//   if(UART0_PARERR())
//     ...
#define UART_PARERR(num)      ((U##num##CSR & 0x08) == 0x08)
#define UART0_PARERR()        UART_PARERR(0)
#define UART1_PARERR()        UART_PARERR(1)

// Example usage:
//   if(UART1_FRAMEERR())
//     ...
#define UART_FRAMEERR(num)    ((U ##num## CSR & 0x10) == 0x10)
#define UART0_FRAMEERR()      UART_FRAMEERR(0)
#define UART1_FRAMEERR()      UART_FRAMEERR(1)


// Example usage:
//   char ch = 'A';
//   UART1_SEND(ch);
//   ...
//   UART1_RECEIVE(ch);
#define UART_SEND(num, x)   U##num##DBUF = x
#define UART0_SEND(x)       UART_SEND(0, x)
#define UART1_SEND(x)       UART_SEND(1, x)

#define UART_RECEIVE(num, x)  x = U##num##DBUF
#define UART0_RECEIVE(x)      UART_RECEIVE(0, x)
#define UART1_RECEIVE(x)      UART_RECEIVE(1, x)

/******************************************************************************
*******************      Power and clock management        ********************
*******************************************************************************

These macros are used to set power-mode, clock source and clock speed.

******************************************************************************/

// Macro for getting the clock division factor
#define CLKSPD  (CLKCON & 0x07)

// Macro for getting the timer tick division factor.
#define TICKSPD ((CLKCON & 0x38) >> 3)

// Macro for checking status of the crystal oscillator
#define XOSC_STABLE (SLEEP & 0x40)

// Macro for checking status of the high frequency RC oscillator.
#define HIGH_FREQUENCY_RC_OSC_STABLE    (SLEEP & 0x20)


// Macro for setting the 32 KHz clock source
#define SET_32KHZ_CLOCK_SOURCE(source) \
   do {                                \
      if( source ) {                   \
         CLKCON |= 0x80;               \
      } else {                         \
         CLKCON &= ~0x80;              \
      }                                \
   } while (0)

// Where _source_ is one of
#define CRYSTAL 0x00
#define RC      0x01

// Macro for setting the main clock oscillator source,
//turns off the clock source not used
//changing to XOSC will take approx 150 us
#define SET_MAIN_CLOCK_SOURCE(source) \
   do {                               \
      if(source) {                    \
        CLKCON |= 0x40;               \
        while(!HIGH_FREQUENCY_RC_OSC_STABLE); \
        if(TICKSPD == 0){             \
          CLKCON |= 0x08;             \
        }                             \
        SLEEP |= 0x04;                \
      }                               \
      else {                          \
        SLEEP &= ~0x04;               \
        while(!XOSC_STABLE);          \
        asm("NOP");                   \
        CLKCON &= ~0x47;              \
        SLEEP |= 0x04;                \
      }                               \
   }while (0)




/*
#### RADIO Support
*/

#define STOP_RADIO()        ISRFOFF;

// RF interrupt flags
#define IRQ_RREG_ON         0x80
#define IRQ_TXDONE          0x40
#define IRQ_FIFOP           0x20
#define IRQ_SFD             0x10
#define IRQ_CCA             0x08
#define IRQ_CSP_WT          0x04
#define IRQ_CSP_STOP        0x02
#define IRQ_CSP_INT         0x01

// RF status flags

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91网站在线观看视频| 国产欧美日本一区二区三区| 中文字幕亚洲视频| 色一情一乱一乱一91av| 中文字幕欧美国产| 一本久久a久久免费精品不卡| 国产精品妹子av| 一本在线高清不卡dvd| 亚洲国产精品麻豆| 555www色欧美视频| 国产成人av电影| 亚洲精品视频在线观看网站| 在线观看一区二区精品视频| 亚洲成人免费电影| 精品国产乱码久久久久久浪潮 | 欧美日韩免费观看一区二区三区| 日韩精品亚洲一区二区三区免费| 日韩欧美在线网站| 成人黄色电影在线| 亚洲福利视频导航| 久久久亚洲高清| 99热这里都是精品| 美女视频黄a大片欧美| 国产精品福利一区二区三区| 欧美日本国产一区| 99re8在线精品视频免费播放| 亚洲超碰精品一区二区| 国产精品久久久久一区二区三区共 | 亚洲精品一区二区三区福利| 91小视频免费看| 精品一区二区三区在线观看| 一区二区三区日韩精品| 国产亚洲欧美一区在线观看| 91精品久久久久久久久99蜜臂| 成人久久视频在线观看| 人妖欧美一区二区| 亚洲电影你懂得| 亚洲成人黄色小说| 一区二区视频在线看| 成人免费在线播放视频| 日本一区二区成人| 久久综合九色综合97婷婷女人 | 91丝袜美女网| 色综合一个色综合| 91在线小视频| 97精品国产97久久久久久久久久久久| 奇米精品一区二区三区在线观看| 亚洲日本丝袜连裤袜办公室| 欧美高清在线精品一区| 国产精品免费视频网站| 国产精品免费丝袜| 亚洲女人****多毛耸耸8| 亚洲人xxxx| 午夜不卡av在线| 美女性感视频久久| 国产呦萝稀缺另类资源| 国产99精品视频| 91亚洲国产成人精品一区二三 | 日本一二三四高清不卡| 国产精品三级视频| 亚洲成在线观看| 久久aⅴ国产欧美74aaa| 懂色av一区二区三区免费看| 91在线观看高清| 欧美日本一道本在线视频| 精品理论电影在线观看| 国产精品网站导航| 午夜精品国产更新| 国产一区二区导航在线播放| yourporn久久国产精品| 3d动漫精品啪啪1区2区免费| 精品av久久707| 中文字幕在线不卡| 日本成人中文字幕| 91丨九色porny丨蝌蚪| 日韩欧美国产一区二区在线播放 | 亚洲精品国产无天堂网2021| 精品一区二区三区在线观看| 欧美中文字幕亚洲一区二区va在线| 欧美一三区三区四区免费在线看| 国产精品久久久久久户外露出| 午夜精品成人在线视频| bt欧美亚洲午夜电影天堂| 日韩一区二区在线看| 亚洲午夜久久久久久久久久久| 成人丝袜高跟foot| 久久这里只有精品6| 日本欧美久久久久免费播放网| 色综合视频在线观看| 1区2区3区国产精品| 成人黄色小视频| 久久一区二区三区四区| 久久99在线观看| 日韩精品一区二区三区蜜臀| 秋霞电影一区二区| 欧美一区午夜视频在线观看| 日韩精彩视频在线观看| 欧美精品粉嫩高潮一区二区| 亚洲国产美女搞黄色| 一本大道久久精品懂色aⅴ| 国产精品久久久久久久裸模| 国产成人8x视频一区二区 | 国产无遮挡一区二区三区毛片日本| 婷婷一区二区三区| 精品久久久三级丝袜| 国产在线不卡一区| 国产婷婷精品av在线| av成人老司机| 亚洲成av人片在线观看无码| 91精品国产色综合久久不卡蜜臀| 偷偷要91色婷婷| 精品免费日韩av| 成人性生交大片免费看中文| 一区二区三区不卡视频| 精品区一区二区| 91一区一区三区| 激情久久久久久久久久久久久久久久| 久久精品欧美一区二区三区麻豆| 91视频精品在这里| 另类小说视频一区二区| 国产精品护士白丝一区av| 精品婷婷伊人一区三区三| 国产福利精品一区| 午夜一区二区三区视频| 中日韩av电影| 精品欧美久久久| 欧美亚洲综合一区| 成人免费毛片a| 久久精品国产亚洲一区二区三区| 亚洲欧洲精品天堂一级 | 国产午夜一区二区三区| 日韩一区二区免费视频| 色综合天天视频在线观看| 福利一区二区在线| 精久久久久久久久久久| 日韩不卡一区二区三区| 亚洲一二三四在线观看| 亚洲精品视频在线观看网站| 日本一区二区三区久久久久久久久不 | 中文字幕精品三区| 日韩欧美一级二级三级久久久| 欧洲生活片亚洲生活在线观看| 成人精品国产福利| 成+人+亚洲+综合天堂| 精品一区二区日韩| 久久国产福利国产秒拍| 国产在线观看一区二区| 国产精品一区免费视频| 国产很黄免费观看久久| 国产91色综合久久免费分享| 成人性生交大片免费看在线播放 | 日韩欧美自拍偷拍| 精品久久久久av影院| 精品国产亚洲在线| 1区2区3区欧美| 亚洲女人小视频在线观看| 日韩美女视频一区| 亚洲视频小说图片| 亚洲日本欧美天堂| 亚洲一区在线观看免费观看电影高清| 一区二区在线免费| 亚洲午夜精品17c| 天堂影院一区二区| 另类小说欧美激情| 成人小视频在线| 精品视频999| 精品福利视频一区二区三区| 久久久久国产一区二区三区四区 | eeuss鲁片一区二区三区在线看| 成人永久免费视频| 在线观看区一区二| 2024国产精品视频| 日韩美女视频一区二区| 日韩电影免费在线| 成人黄色av网站在线| 制服丝袜亚洲播放| 成人欧美一区二区三区视频网页 | 日韩av一级片| 91理论电影在线观看| 欧美日韩中文字幕精品| 国产情人综合久久777777| 亚洲午夜视频在线观看| 成人激情电影免费在线观看| 91麻豆精品国产综合久久久久久 | 色婷婷狠狠综合| 国产亚洲精品精华液| 日本在线不卡一区| 欧美视频一区二区三区在线观看 | 色婷婷精品大在线视频| 国产日产欧美一区| 另类小说一区二区三区| 欧美日韩国产影片| 亚洲美女视频在线观看| 国产a级毛片一区| 欧美亚洲综合在线| 亚洲老司机在线| 91视频国产资源| 亚洲精品日韩一| 在线精品视频免费播放| 亚洲一区二区在线免费观看视频|