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

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

?? config.h

?? CC2510 timer1 PWM輸出2M波形
?? H
?? 第 1 頁 / 共 5 頁
字號:
#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   *******************
******************************************************************************/


#define BAUD_E(baud, clkDivPow)( \
   (baud ==   2400) ?   6 +clkDivPow : \
   (baud ==   4800) ?   7 +clkDivPow : \
   (baud ==   9600) ?   8 +clkDivPow : \
   (baud ==  14400) ?   9 +clkDivPow : \
   (baud ==  19200) ?   9 +clkDivPow : \
   (baud ==  28800) ?  10 +clkDivPow : \
   (baud ==  38400) ?  10 +clkDivPow : \
   (baud ==  57600) ?  11 +clkDivPow : \
   (baud ==  76800) ?  11 +clkDivPow : \
   (baud == 115200) ?  12 +clkDivPow : \
   (baud == 230400) ?  13 +clkDivPow : \
   (baud == 307200) ?  13 +clkDivPow : \
   (baud == 460800) ?  14 +clkDivPow : \
   0)

#define BAUD_M(baud) ( \
   (baud ==   2400) ?  131 : \
   (baud ==   4800) ?  131 : \
   (baud ==   9600) ?  131 : \
   (baud ==  14400) ?   34 : \
   (baud ==  19200) ?  131 : \
   (baud ==  28800) ?   34 : \
   (baud ==  38400) ?  131 : \
   (baud ==  57600) ?   34 : \
   (baud ==  76800) ?  131 : \
   (baud == 115200) ?   34 : \
   (baud == 230400) ?   34 : \
   (baud == 307200) ?  131 : \
   (baud == 460800) ?   34 : \
   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 ((options) & FLOW_CONTROL_ENABLE){     \
         if((uart) == 0){      /* USART0       */\
            if(PERCFG & 0x01){ /* Alt 2        */\
               P1SEL |= 0x3C;                    \
            } else {           /* Alt 1        */\
               P0SEL |= 0x3C;                    \
            }                                    \
         }                                       \
         else {                /* USART1       */\
            if(PERCFG & 0x02){ /* Alt 2        */\
               P1SEL |= 0xF0;                    \
            } else {           /* Alt 1        */\
               P0SEL |= 0x3C;                    \
            }                                    \
         }                                       \
      }                                          \
      else{                    /* Flow Ctrl Dis*/\
         if((uart) == 0){      /* USART0       */\
            if(PERCFG & 0x01){ /* Alt 2        */\
               P1SEL |= 0x30;                    \
            } else {           /* Alt 1        */\
               P0SEL |= 0x0C;                    \
            }                                    \
         }                                       \
         else {                /* USART1       */\
            if(PERCFG & 0x02){ /* Alt 2        */\
               P1SEL |= 0xC0;                    \
            } else {           /* Alt 1        */\
               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;                   \
      }                                          \
   } while(0)


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


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



/******************************************************************************
*******************    USART-SPI specific functions/macros  *******************
*******************************************************************************
The macros in this section simplify SPI operation.

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

// Macro for setting up an SPI connection. The macro configures the appropriate
// pins for peripheral operation, sets the baudrate if the chip is configured
// to be SPI master, and sets the desired clock polarity and phase. Whether to
// transfer MSB or LSB first is also determined. _spi_ indicates whether
// to use spi 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.

#define SPI_SETUP(spi, baudRate, options)           \
   do {                                             \
      U##spi##UCR = 0x80;                           \
      U##spi##CSR = 0x00;                           \
                                                    \
      if((options) & SPI_SLAVE){  /* Slave        */\
         if(spi == 0){            /* USART0       */\
            if(PERCFG & 0x01){    /* Alt 2        */\
               P1SEL |= 0x3C;                       \
            } else {              /* Alt 1        */\
               P0SEL |= 0x3C;                       \
            }                                       \
         } else {                 /* USART1       */\
            if(PERCFG & 0x02){    /* Alt 2        */\
               P1SEL |= 0xF0;                       \
            } else {                                \
              P0SEL |= 0x3C;      /* Alt 1        */\
            }                                       \
         }                                          \
         U##spi##CSR = 0x20;                        \
      }                                             \
      else {                      /* Master       */\
         if(spi == 0){            /* USART0       */\
            if(PERCFG & 0x01){    /* Alt 2        */\
                P1SEL |= 0x38;                      \
                P1SEL &= ~0x04;                     \
            } else {              /* Alt 1        */\
               P0SEL |= 0x2C;                       \
               P0SEL &= ~0x10;                      \
            }                                       \
         } else {                 /* USART 1      */\
            if(PERCFG & 0x02){    /* Alt 2        */\
               P1SEL |= 0xE0;                       \
               P1SEL &= ~0x10;                      \
            } else {              /* Alt 1        */\
               P0SEL |= 0x38;                       \
               P0SEL &= ~0x04;                      \
            }                                       \
         }                                          \
         U##spi##GCR = BAUD_E(baudRate, CLKSPD);    \
         U##spi##BAUD = BAUD_M(baudRate);           \
      }                                             \
      U##spi##GCR |= ((options) & 0xE0);            \
   } while(0)


// Options for the SPI_SETUP macro.
#define SPI_SLAVE              0x01
#define SPI_MASTER             0x00
#define SPI_CLOCK_POL_LO       0x00
#define SPI_CLOCK_POL_HI       0x80
#define SPI_CLOCK_PHA_0        0x00
#define SPI_CLOCK_PHA_1        0x40
#define SPI_TRANSFER_MSB_FIRST 0x20
#define SPI_TRANSFER_MSB_LAST  0x00



/******************************************************************************
*******************       FLASH programming functions       *******************
*******************************************************************************
 _halFlashWritePage(...)_ writes a whole flash page. Because code memory cannot
be read during flash write, the writing routines are copied to XDATA RAM. The
function is implemented in assembly code with file extensions .s51 rather than .c

The Direct Memory Access (DMA) may also be used for flash write.
******************************************************************************/

//Macro for erasing a given flash page
#define FLASH_ERASE_PAGE(page) \
   do{                         \
      FADDRH = (page) << 1;    \
      FADDRL = 0x00;           \
      FLASH_CONFIG(ERASE);     \
   }while (0)


// Macro for configuring flash access and setting flash access mode.
#define FLASH_CONFIG(options)     \
   do {                           \
      FWT  = ( 0x22 >> CLKSPD );  \
      FCTL = (options);           \
   } while (0)

// _options_ may be the following:
#define READ_WHEN_NEED  0x00
#define CONTINOUS_READ  0x10
#define WRITE           0x02
#define ERASE           0x01
#define FLASH_BUSY      0x80



/******************************************************************************
*******************      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 power mode
#define SET_POWER_MODE(mode)                   \
   do {                                        \
      if(mode == 0)        { SLEEP &= ~0x03; } \

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区在线电影| 亚洲v精品v日韩v欧美v专区| 九色综合狠狠综合久久| 日韩午夜小视频| 理论电影国产精品| 久久久久国产成人精品亚洲午夜| 国内外成人在线| 国产精品第13页| 欧美日韩亚洲综合| 久久 天天综合| 亚洲欧美在线aaa| 欧美日韩精品福利| 国产一区视频导航| 中文字幕亚洲欧美在线不卡| 欧美三级视频在线播放| 狠狠色狠狠色综合| 亚洲另类中文字| 日韩三级高清在线| 91亚洲永久精品| 日本一区中文字幕| 国产精品视频看| 欧美精品日韩精品| 成人网在线播放| 午夜精品国产更新| 国产亚洲短视频| 欧美视频一区二区在线观看| 九色综合狠狠综合久久| 一区二区三区免费| 久久美女高清视频| 欧美色成人综合| 国产成人精品免费一区二区| 亚洲va欧美va人人爽| 亚洲国产激情av| 日韩欧美久久一区| 精品视频999| jiyouzz国产精品久久| 成人国产精品免费观看动漫| 丁香激情综合国产| 午夜精品影院在线观看| 国产亚洲一区二区三区四区 | 亚洲一区在线免费观看| 日韩欧美亚洲国产精品字幕久久久| 99热99精品| 国产精品自在在线| 亚洲6080在线| 亚洲激情自拍偷拍| 国产精品久久久久一区二区三区共| 日韩一二三区不卡| 欧美日精品一区视频| 91在线国产福利| 国产不卡视频在线播放| 美女在线一区二区| 丝袜亚洲另类欧美| 亚洲国产乱码最新视频| 亚洲天堂免费在线观看视频| 久久久亚洲精华液精华液精华液| 欧美另类变人与禽xxxxx| 91蝌蚪porny九色| 成人理论电影网| 国产91精品露脸国语对白| voyeur盗摄精品| 17c精品麻豆一区二区免费| 在线观看视频一区| 亚洲成人在线免费| 精品国产麻豆免费人成网站| 成人免费观看av| 日韩欧美高清在线| 亚洲影视在线播放| 91在线观看高清| 欧美成人一级视频| 欧美性受极品xxxx喷水| 麻豆91免费观看| 亚洲精品高清在线观看| 日韩免费电影网站| 欧美日韩国产中文| 成人午夜又粗又硬又大| 欧美吞精做爰啪啪高潮| 91精品婷婷国产综合久久竹菊| 另类中文字幕网| 在线观看视频91| 日本不卡一区二区| 午夜日韩在线电影| 日本特黄久久久高潮| 不卡的av在线播放| 日日欢夜夜爽一区| 高清视频一区二区| 日本伊人精品一区二区三区观看方式 | 欧美精品一区在线观看| 91美女片黄在线| 91玉足脚交白嫩脚丫在线播放| 国产 欧美在线| 国产成人免费视频一区| 久久日韩粉嫩一区二区三区| 亚洲视频在线一区二区| 日韩欧美黄色影院| 欧美一区二区三区电影| av一区二区不卡| 成人av网址在线| av成人免费在线观看| 99riav久久精品riav| av日韩在线网站| 国产大陆精品国产| 成人黄色电影在线| 不卡av电影在线播放| 色婷婷av一区二区三区gif| 91麻豆精品在线观看| 国产精品久线观看视频| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 一区二区三区视频在线观看| 综合久久综合久久| 国产精品伊人色| 国产精品一色哟哟哟| www.在线欧美| 欧美视频在线不卡| 欧美日韩国产综合一区二区| 国产综合久久久久久久久久久久| 国产亚洲视频系列| 欧美午夜片在线看| 99久久精品免费观看| 国产精品亚洲一区二区三区妖精| 不卡视频一二三四| 日韩一区二区三区在线| 中文字幕一区二区在线播放 | 久久久综合网站| 一区二区三国产精华液| 国内一区二区视频| 欧美日韩国产综合一区二区| 中文字幕免费一区| 有坂深雪av一区二区精品| 国产高清视频一区| 在线综合亚洲欧美在线视频| 国产精品午夜免费| 国产精品亚洲第一| 精品国产人成亚洲区| 免费人成在线不卡| 精品视频一区三区九区| 亚洲三级理论片| 欧美在线短视频| www国产成人| 欧美午夜精品久久久久久超碰| 久久久精品tv| 秋霞国产午夜精品免费视频| 色综合久久综合网97色综合| 国产欧美一区二区精品秋霞影院| 美女被吸乳得到大胸91| 欧美日韩综合一区| 亚洲精品中文在线观看| 高清在线观看日韩| 久久久亚洲高清| 国产真实精品久久二三区| 欧美一区二区三区四区久久| 亚洲一区二区三区小说| 一本久久综合亚洲鲁鲁五月天 | 经典三级视频一区| 91精品国产色综合久久ai换脸| 亚洲制服丝袜av| 日本精品一区二区三区高清 | 亚洲午夜影视影院在线观看| 91麻豆精东视频| 亚洲三级电影网站| 99国产精品国产精品毛片| 国产精品久久久久影视| 亚洲欧美一区二区三区国产精品| 色婷婷一区二区三区四区| 欧美国产国产综合| 国产精品77777竹菊影视小说| 欧美一区二区久久| 蜜臀精品一区二区三区在线观看| 91精品国产一区二区三区蜜臀| 亚洲18色成人| 91精品国产一区二区| 久久av资源站| 久久九九久久九九| 成人av集中营| 一区二区三区在线影院| 色爱区综合激月婷婷| 亚洲成a人v欧美综合天堂下载 | 亚洲一区二区黄色| 欧美主播一区二区三区| 香蕉影视欧美成人| 欧美一区二区啪啪| 国产精品99久久久| 亚洲欧洲av一区二区三区久久| 色综合久久六月婷婷中文字幕| 亚洲精品国产a久久久久久| 欧美精品色一区二区三区| 免费看精品久久片| 日韩成人av影视| 亚洲一卡二卡三卡四卡五卡| 色综合久久中文字幕综合网| 一区二区三区不卡视频| 日韩女优视频免费观看| 国产永久精品大片wwwapp| 欧美极品另类videosde| 99久久精品国产观看| 亚洲午夜激情网页| 欧美精品一区二区三区很污很色的| 粉嫩av一区二区三区粉嫩| 亚洲激情网站免费观看| 欧美大胆人体bbbb|