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

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

?? halsrf04.h

?? c51控制cc1100示范程序
?? H
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
    
//------------------------------------------------------------------------------------------------------
//  SETUP_GDO2_INT(trigger, polarity)
//
//  DESCRIPTION:
//      This macro is setting up the GDO2 interrupt from CCxx00. The interrupt is on P0.7 and is 
//      assign to external interrupt1. The macro enables external interrupt1.
//
//  ARGUMENTS:
//      trigger
//          EDGE    (interrupt is edge sensitive)
//          LEVEL   (interrupt is level sensitive)
//      polarity
//          HIGH    (input is active high)
//          LOW     (input is active low)
//------------------------------------------------------------------------------------------------------
#define SETUP_GDO2_INT(trigger, polarity) \
    do { \
        IT1 = trigger; \
        IT01CF = ((IT01CF & 0x0F) | ((polarity << 7) | 0x70)); \
        INT_ENABLE(INUM_EXTERNAL1, INT_ON); \
    } while (0)
//------------------------------------------------------------------------------------------------------

// where trigger is one of:
#define LEVEL   0
#define EDGE    1

// where polarity is one of:
#define LOW     0
#define HIGH    1
//------------------------------------------------------------------------------------------------------





/*******************************************************************************************************
 *******************************************************************************************************
 **************************                 UART SERIAL PORT                 ***************************
 *******************************************************************************************************
 *******************************************************************************************************/
//-------------------------------------------------------------------------------------------------------
// This section contains useful macros for configuring the UART and for TX and RX using the UART
//      UART_SETUP(baudRate, options)
//      UART_TX_ENABLE()
//      UART_RX_ENABLE()
//      UART_TX_WAIT()
//      UART_RX_WAIT()
//      UART_TX(x)
//      UART_RX(x)
//      UART_WAIT_AND_SEND(x)
//      UART_WAIT_AND_RECEIVE(x)
//-------------------------------------------------------------------------------------------------------




//-------------------------------------------------------------------------------------------------------
// Options for UART configuration
#define DEFAULT_MODE        0x00    // 8-bit Uart with variable baudrate, logic level of stop bit is 
                                    // ignored. User must poll the RI_0 and TI_0 flag to determine when a 
                                    // byte arrives or when the TX buffer is empty. The user must manually
                                    // clear RI0 and TI0 if not using the printf() / scanf() functions 
                                    // which do this automatically. 
#define UART_ISR            0x01    // Use interrupt service routines to signal that a byte has arrived or
                                    // that the TX buffer is empty. The user must manually clear RI_0 and
                                    // TI_0 in the corresponding ISRs.
//-------------------------------------------------------------------------------------------------------

                                   


//-------------------------------------------------------------------------------------------------------
// Defines used for the _baudrate_ variable
#define UART_BAUDRATE_4800      0
#define UART_BAUDRATE_9600      1            
#define UART_BAUDRATE_19200     2
#define UART_BAUDRATE_38400     3
#define UART_BAUDRATE_57600     4
#define UART_BAUDRATE_115200    5
//-------------------------------------------------------------------------------------------------------

 


//------------------------------------------------------------------------------------------------------
//  void halUartSetup(UINT16 baudRate, UINT8 options)
//
//  DESCRIPTION:
//      Function which implements all the initialization necessary to establish a simple serial link. 
//      Timer1 is used as a baudrate generator and is initialized according to _baudRate_. Timer 1 
//      is enabled and configures for Mode 2; 8-bit counter/timer with auto-reload. The UART 
//      is configured according to _options_.
//      The system clock needs to be configured to run at 24 MHz. 
//
//  ARGUMENTS:
//      UINT16 baudRate
//          UART_BAUDRATE_4800
//          UART_BAUDRATE_9600
//          UART_BAUDRATE_19200
//          UART_BAUDRATE_38400
//          UART_BAUDRATE_57600
//          UART_BAUDRATE_115200
//      UINT16 clkFreq
//          Device clock frequency in kHz
//      UINT8 options
//          DEFAULT_MODE           
//          UART_ISR
//------------------------------------------------------------------------------------------------------
void halUartSetup(UINT8 baudRate, UINT8 options);




//-------------------------------------------------------------------------------------------------------
// Macros which are helpful when transmitting and receiving data over the serial interface.
//
// Example of usage:
//
//      UART_TX_ENABLE();
//      UART_TX(data);
//
//      for (i = 1; i < len; i++) {
//          UART_WAIT_AND_SEND(pData[i]);
//      }
//
//      UART_RX_ENABLE();
//      len = UART_RX();
//
//      while (len-- > 0) {
//          UART_WAIT_AND_RECEIVE(data[i++]);
//      }

#define UART_TX_ENABLE()            do { REN0 = 0; } while (0)
#define UART_RX_ENABLE()            do { REN0 = 1; } while (0)

#define UART_TX_WAIT()              do {while (!INT_GETFLAG(INUM_UART0_TX)); } while (0)
#define UART_RX_WAIT()              do {while (!INT_GETFLAG(INUM_UART0_RX)); } while (0) 

#define UART_TX(x)                  do { SBUF0 = (x); } while (0)
#define UART_RX(x)                  do { (x) = SBUF0; } while (0)

#define UART_WAIT_AND_SEND(x) \
    do { \
        UART_TX_WAIT(); \
        INT_SETFLAG(INUM_UART0_TX, INT_CLR); \
        UART_TX(x); \
    } while (0)

#define UART_WAIT_AND_RECEIVE(x) \
    do { \
        UART_RX_WAIT(); \
        UART_RX(x); \
        INT_SETFLAG(INUM_UART0_RX, INT_CLR); \  
} while (0)
//-------------------------------------------------------------------------------------------------------





/*******************************************************************************************************
 *******************************************************************************************************
 *******************************              SPI functions/macros        ******************************
 *******************************************************************************************************
 *******************************************************************************************************/
//-------------------------------------------------------------------------------------------------------
// This section contains useful macros and functions for setting up the SPI and for reading/writing
// CC2500 registers
//      SPI_INIT(freq)
//      SPI_ENABLE()
//      SPI_DISABLE()
//      SPI_WAIT()
//      void halSpiStrobe(BYTE addr)
//      void halSpiWriteReg(BYTE addr, BYTE value)
//      BYTE halSpiReadReg(BYTE addr)
//      void halSpiWriteBurstReg(BYTE addr, BYTE *buffer, BYTE count)
//      halSpiReadBurstReg(BYTE addr, BYTE *buffer, BYTE count)
//      RESET_CCxxx0()
//      POWER_UP_CCxxx0()
//-------------------------------------------------------------------------------------------------------




//-------------------------------------------------------------------------------------------------------
// Definitions to support burst/single access:
#define WRITE_BURST     0x40
#define READ_SINGLE     0x80
#define READ_BURST      0xC0
//-------------------------------------------------------------------------------------------------------




//-------------------------------------------------------------------------------------------------------
// SPI enable/disable macros:
#define SPI_ENABLE()        (SPI0CN |= BM_SPIEN)
#define SPI_DISABLE()       (SPI0CN &= ~BM_SPIEN)   
//-------------------------------------------------------------------------------------------------------




//-------------------------------------------------------------------------------------------------------
// Initialization
// Enble SPI (4-wire Single Master Mode, data centered on first edge of SCK period.
// SCK low in Idle State
#define SPI_INIT(freq) \
    do { \
        SPI0CFG = BM_MSTEN; \
        SPI0CN = BM_NSSMD1; \
        SPI0CKR = freq; \
        SPI_ENABLE(); \
    } while (0)

// where freq is one of:
#define SCLK_6_MHZ      1
#define SCLK_4_MHZ      2
#define SCLK_3_MHZ      3
#define SCLK_2_4_MHZ    4
#define SCLK_2_MHZ      5
#define SCLK_1_5_MHZ    7
#define SCLK_1_2_MHZ    9
#define SCLK_1_MHZ      11
//-------------------------------------------------------------------------------------------------------




//-------------------------------------------------------------------------------------------------------
// Macro used for communication data polling and wait on the SPI bus 
#define SPI_WAIT() \
    do { \
        while (!INT_GETFLAG(INUM_SPI0_IF)); \
        INT_SETFLAG(INUM_SPI0_IF, INT_CLR); \
    } while (0)
//-------------------------------------------------------------------------------------------------------




//-------------------------------------------------------------------------------------------------------
//  void halSpiStrobe(BYTE strobe)
//
//  DESCRIPTION:
//      Function for writing a strobe command to the CCxxx0
//
//  ARGUMENTS:
//      BYTE strobe
//          Strobe command
//-------------------------------------------------------------------------------------------------------
void halSpiStrobe(BYTE strobe);




//-------------------------------------------------------------------------------------------------------
//  BYTE halSpiReadStatus(BYTE addr)
//
//  DESCRIPTION:
//      This function reads a CCxxx0 status register.
//
//  ARGUMENTS:
//      BYTE addr
//          Address of the CCxxx0 status register to be accessed.
//
//  RETURN VALUE:
//      BYTE
//          Value of the accessed CCxxx0 status register.
//-------------------------------------------------------------------------------------------------------
BYTE halSpiReadStatus(BYTE addr);




//-------------------------------------------------------------------------------------------------------
//  void halSpiWriteReg(BYTE addr, BYTE value)
//
//  DESCRIPTION:
//      Function for writing to a single CCxxx0 register
//
//  ARGUMENTS:
//      BYTE addr
//          Address of a specific CCxxx0 register to accessed.
//      BYTE value
//          Value to be written to the specified CCxxx0 register.
//-------------------------------------------------------------------------------------------------------
void halSpiWriteReg(BYTE addr, BYTE value);




//-------------------------------------------------------------------------------------------------------
//  BYTE halSpiReadReg(BYTE addr)
//
//  DESCRIPTION:
//      This function gets the value of a single specified CCxxx0 register.
//
//  ARGUMENTS:
//      BYTE addr
//          Address of the CCxxx0 register to be accessed.
//
//  RETURN VALUE:
//      BYTE
//          Value of the accessed CCxxx0 register.
//-------------------------------------------------------------------------------------------------------
BYTE halSpiReadReg(BYTE addr);




//-------------------------------------------------------------------------------------------------------
//  void halSpiWriteBurstReg(BYTE addr, BYTE *buffer, BYTE count)
//
//  DESCRIPTION:
//      This function writes to multiple CCxxx0 register, using SPI burst access.
//
//  ARGUMENTS:
//      BYTE addr
//          Address of the first CCxxx0 register to be accessed.
//      BYTE *buffer
//          Array of bytes to be written into a corresponding range of
//          CCxx00 registers, starting by the address specified in _addr_.
//      BYTE count
//          Number of bytes to be written to the subsequent CCxxx0 registers.   
//-------------------------------------------------------------------------------------------------------
void halSpiWriteBurstReg(BYTE addr, BYTE *buffer, BYTE count);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一二三区在线观看| 亚洲视频在线观看三级| 国产一区二区三区国产| 亚洲国产成人私人影院tom| 日韩欧美一级二级| 不卡av电影在线播放| 亚洲一区免费视频| 精品国产乱子伦一区| 97se亚洲国产综合在线| 肉丝袜脚交视频一区二区| 日韩女优毛片在线| av一二三不卡影片| 视频精品一区二区| 中文字幕一区二区三区在线观看 | 91免费在线看| 久久疯狂做爰流白浆xx| 最新热久久免费视频| 日韩视频中午一区| 91在线免费看| 一区二区三区四区在线| 欧美一二三四区在线| 不卡一区中文字幕| 人人超碰91尤物精品国产| 国产目拍亚洲精品99久久精品| 色av一区二区| 日韩高清不卡一区二区三区| 久久99国产精品久久99果冻传媒| 国产精品毛片a∨一区二区三区| 3d成人h动漫网站入口| 99热在这里有精品免费| 国产一区二区三区国产| 免费成人性网站| 一区二区三区日韩| 国产日韩精品一区二区三区| 日韩亚洲欧美中文三级| 欧美视频自拍偷拍| 91看片淫黄大片一级| 国产乱子轮精品视频| 日本 国产 欧美色综合| 亚洲午夜久久久久久久久久久 | 国产婷婷一区二区| 欧美一级xxx| 91精品在线免费| 韩国女主播成人在线观看| 91精品在线观看入口| 风间由美中文字幕在线看视频国产欧美| 偷偷要91色婷婷| 亚洲大片一区二区三区| 亚洲精品菠萝久久久久久久| 国产精品污污网站在线观看| 精品成人一区二区三区四区| 911精品产国品一二三产区| 中文字幕亚洲在| 久久精品一区二区三区不卡| 欧美久久久久免费| 久久久欧美精品sm网站| 成人黄页在线观看| 国产成人精品亚洲777人妖| 国产一区免费电影| 毛片一区二区三区| 亚洲综合激情网| 亚洲午夜久久久久久久久电影网 | 亚洲精品国产视频| 国产成人啪免费观看软件| 亚洲成人福利片| 国产精品久久久久久久裸模| 精品国产乱码久久久久久图片| 91国产成人在线| 99精品国产一区二区三区不卡| 久久精品国内一区二区三区| 91在线精品秘密一区二区| 精品一区二区三区在线视频| 日本欧洲一区二区| 视频一区中文字幕| 亚洲成人av一区| 亚洲成人黄色小说| 色噜噜狠狠一区二区三区果冻| 韩国精品在线观看| 另类欧美日韩国产在线| 国产九色sp调教91| 本田岬高潮一区二区三区| 在线精品视频免费播放| 欧美日韩成人激情| 2021国产精品久久精品| 国产精品福利一区| 欧美精品在线观看一区二区| 国产精品天干天干在观线| 精品国产乱码久久久久久图片| 国产欧美一区二区精品性色| 国产精品久久久久影院老司| 亚洲宅男天堂在线观看无病毒| 美国一区二区三区在线播放| 福利一区在线观看| 国产 欧美在线| 精品亚洲国内自在自线福利| 欧美综合欧美视频| www久久精品| 在线观看亚洲专区| 日韩中文字幕91| 国产综合成人久久大片91| 在线观看亚洲精品视频| 欧美大白屁股肥臀xxxxxx| 国产精品色婷婷| 精品一区二区在线免费观看| 91猫先生在线| 久久日韩精品一区二区五区| 亚洲va国产va欧美va观看| 国产成人免费av在线| 日本久久精品电影| 欧美国产禁国产网站cc| 日韩国产在线观看一区| 亚洲国产综合在线| 91黄色免费版| 国产亚洲视频系列| 蜜桃视频在线观看一区| 欧美色视频一区| 中文字幕不卡在线播放| 天天综合网天天综合色| 成人av网在线| 国产亚洲一本大道中文在线| 天堂久久久久va久久久久| 成人高清视频免费观看| 在线成人小视频| 亚洲欧美日韩一区二区| 亚洲国产日韩av| 国产九色sp调教91| 91精品国产高清一区二区三区蜜臀| 国产精品沙发午睡系列990531| 欧美一区二区三区免费观看视频| 亚洲人成小说网站色在线 | 中文字幕佐山爱一区二区免费| 日本成人中文字幕| 欧美性做爰猛烈叫床潮| ㊣最新国产の精品bt伙计久久| 国产一区二区视频在线| 欧美一区二区三区人| 亚洲国产一区二区三区| 成人动漫一区二区三区| 久久网这里都是精品| 久久99久国产精品黄毛片色诱| 日韩黄色免费电影| av电影天堂一区二区在线| 欧美国产日产图区| 国产成人av一区二区三区在线 | 亚洲精品成人天堂一二三| 国产欧美日韩亚州综合| 国产精品一区在线观看乱码 | 亚洲国产美女搞黄色| 欧美日韩亚洲丝袜制服| 日本最新不卡在线| 日韩欧美黄色影院| 国产xxx精品视频大全| 国产精品成人在线观看| 欧美专区日韩专区| 免费日韩伦理电影| 久久青草国产手机看片福利盒子| 国产成人免费视| 亚洲激情五月婷婷| 欧美精品电影在线播放| 韩国三级在线一区| 国产精品久久久久天堂| 色呦呦一区二区三区| 青青草一区二区三区| 欧美国产日韩精品免费观看| 色综合夜色一区| 日本特黄久久久高潮| 久久久亚洲综合| 日本黄色一区二区| 毛片基地黄久久久久久天堂| 国产精品素人一区二区| 欧美中文字幕亚洲一区二区va在线 | 久久精品国产99国产| 久久九九99视频| 色婷婷av一区二区三区gif | 成人一级黄色片| 亚洲宅男天堂在线观看无病毒| 欧美第一区第二区| eeuss国产一区二区三区| 视频一区中文字幕| 国产精品美女久久久久久久网站| 欧美日韩高清一区二区三区| 国产成人亚洲综合色影视| 亚洲线精品一区二区三区八戒| 日韩欧美专区在线| 色婷婷久久99综合精品jk白丝| 麻豆精品在线看| 亚洲精品国产无套在线观 | 亚洲成人福利片| 国产欧美一区二区在线观看| 欧美亚洲国产怡红院影院| 国产精品一品视频| 日日欢夜夜爽一区| 亚洲丝袜另类动漫二区| 精品入口麻豆88视频| 色噜噜狠狠色综合中国| 国产精品1区2区3区| 欧美久久久久久久久久| av高清久久久| 国产精品一区在线| 偷窥国产亚洲免费视频 |