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

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

?? hal.h

?? ZIGBEE2006協議棧
?? 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一区二区三区免费野_久草精品视频
成人一区二区视频| 另类人妖一区二区av| 亚洲精品一区二区在线观看| 色猫猫国产区一区二在线视频| 午夜国产不卡在线观看视频| 国产精品成人网| 国产女人水真多18毛片18精品视频 | 国产免费成人在线视频| 欧美另类久久久品| 欧美性色黄大片| 一本在线高清不卡dvd| 成人av资源在线| 风间由美一区二区av101 | av一区二区三区在线| 国产成人丝袜美腿| 国产精品99久久久久久久女警| 久久精品国产在热久久| 久久国产福利国产秒拍| 色综合天天综合网国产成人综合天| 欧美一区二区啪啪| 4438x亚洲最大成人网| 这里只有精品99re| 欧美电影免费提供在线观看| 久久久久久9999| 中文字幕一区二| 亚洲自拍与偷拍| 男人的j进女人的j一区| 国产一区二区三区不卡在线观看 | 风间由美性色一区二区三区| 成人v精品蜜桃久久一区| 99久久777色| 欧美精品成人一区二区三区四区| 日韩天堂在线观看| 国产日产欧美精品一区二区三区| 亚洲婷婷综合色高清在线| 天堂蜜桃一区二区三区| 国产米奇在线777精品观看| 91蜜桃网址入口| 这里只有精品99re| 99国产精品99久久久久久| 成人污污视频在线观看| 欧美在线一二三四区| 日韩亚洲欧美高清| 亚洲欧洲三级电影| 免费高清成人在线| 成人高清伦理免费影院在线观看| 欧美精品一级二级| 欧美韩日一区二区三区四区| 亚洲国产一区二区三区| 国产专区欧美精品| 欧美色综合网站| 久久久不卡网国产精品一区| 一个色妞综合视频在线观看| 黄网站免费久久| 欧美色综合影院| 国产精品久久午夜| 欧美a级理论片| av成人老司机| 欧美岛国在线观看| 亚洲国产aⅴ成人精品无吗| 国产成人啪免费观看软件| 精品视频在线免费看| 久久精品视频一区| 日韩中文字幕区一区有砖一区| 成人免费毛片嘿嘿连载视频| 日韩欧美一区二区在线视频| **网站欧美大片在线观看| 免费欧美高清视频| 91国偷自产一区二区开放时间| xfplay精品久久| 日韩福利视频网| 欧美曰成人黄网| 中文字幕av一区二区三区高| 九九在线精品视频| 欧美日韩小视频| 亚洲欧美偷拍三级| 成人黄色一级视频| 久久精品一区四区| 麻豆精品视频在线观看视频| 色呦呦一区二区三区| 成人免费视频网站在线观看| 欧美日韩电影在线| 综合欧美亚洲日本| 亚洲精选视频在线| 粗大黑人巨茎大战欧美成人| 日韩欧美国产三级电影视频| 天天综合色天天综合色h| 在线影院国内精品| 国产精品福利影院| 成人小视频免费在线观看| 精品91自产拍在线观看一区| 青青草97国产精品免费观看| 欧美日韩国产综合视频在线观看| 亚洲欧美日韩一区| 99久久99久久精品国产片果冻| 亚洲国产成人在线| 成人中文字幕合集| 国产女人18毛片水真多成人如厕| 国产真实乱偷精品视频免| 久久综合精品国产一区二区三区| 免费人成精品欧美精品| 日韩欧美国产综合一区| 日本视频一区二区| 日韩精品中午字幕| 九色综合国产一区二区三区| ww亚洲ww在线观看国产| 国产精品99精品久久免费| 久久久久久久久久久电影| 国产高清视频一区| 国产精品久久久99| 色婷婷精品久久二区二区蜜臂av | 日本一二三不卡| av毛片久久久久**hd| 国产精品美女久久福利网站| av高清久久久| 一区二区三区美女| 欧美日韩一区高清| 美腿丝袜亚洲一区| 精品福利二区三区| 国产999精品久久久久久 | 欧美激情资源网| 成人av动漫网站| 一区二区三区免费看视频| 欧美三区在线观看| 男女激情视频一区| 久久夜色精品一区| 成人精品视频一区| 亚洲免费av高清| 91精品国产麻豆| 国产精品中文有码| 国产精品成人网| 欧美日韩高清一区二区| 国产一区二区三区四| 综合久久久久久| 91精品国产一区二区三区蜜臀| 国产精品一品视频| 亚洲欧美日韩精品久久久久| 91.麻豆视频| 国产 日韩 欧美大片| 亚洲午夜一二三区视频| 欧美videossexotv100| 99久久伊人网影院| 日日欢夜夜爽一区| 国产精品久久久久久久浪潮网站| 欧美三区在线观看| 日韩激情av在线| 日本精品裸体写真集在线观看| 亚洲妇女屁股眼交7| 精品久久久久99| 91在线观看美女| 免费欧美日韩国产三级电影| 国产精品久久久久影院亚瑟| 欧美日韩在线三级| 国产精品中文字幕日韩精品| 亚洲一二三四在线| 久久久99精品久久| 色综合久久久久综合体| 亚洲乱码一区二区三区在线观看| 制服丝袜一区二区三区| 成人av电影免费在线播放| 人人精品人人爱| 亚洲欧美日韩电影| 久久亚洲一级片| 3751色影院一区二区三区| 成人亚洲一区二区一| 蜜桃传媒麻豆第一区在线观看| 亚洲蜜桃精久久久久久久| 久久午夜免费电影| 6080国产精品一区二区| 99re8在线精品视频免费播放| 精品在线亚洲视频| 婷婷开心激情综合| 18欧美乱大交hd1984| 久久久精品tv| 日韩一区二区不卡| 欧美日精品一区视频| www.在线成人| 国产精品影视网| 免费av网站大全久久| 一区二区三区成人在线视频| 欧美国产乱子伦| 精品国产百合女同互慰| 91精品黄色片免费大全| 欧美私模裸体表演在线观看| av成人动漫在线观看| 国产精品白丝jk黑袜喷水| 毛片基地黄久久久久久天堂| 亚洲免费伊人电影| 国产精品成人在线观看| 欧美极品xxx| 国产日韩av一区| 久久精品日产第一区二区三区高清版 | 亚洲男同性视频| 国产精品国产三级国产aⅴ原创| 久久综合九色综合久久久精品综合| 3d成人动漫网站| 日韩欧美一二三区| 日韩精品一区二区三区四区视频 | 99久久夜色精品国产网站| 免费在线看成人av|