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

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

?? hal.h

?? tinyos的硬件閃燈例子代碼
?? H
?? 第 1 頁 / 共 5 頁
字號:
// Macro for setting the WDT timeout interval.
#define WDT_SET_TIMEOUT_PERIOD(timeout) \
   do {  WDCTL &= ~0x03; WDCTL |= timeout; } while (0)

// Where _timeout_ is one of
#define SEC_1          0x00     // after 1 second
#define M_SEC_250      0x01     // after 250 ms
#define M_SEC_15       0x02     // after 15 ms
#define M_SEC_2        0x03     // after 2 ms

// Macro for resetting the WDT. If this is not done before the WDT times out,
// the system is reset.
#define WDT_RESET() do {           \
   WDCTL = (WDCTL & ~0xF0) | 0xA0; \
   WDCTL = (WDCTL & ~0xF0) | 0x50; \
} while (0)

// Macro for turning on the WDT
#define WDT_ENABLE()   WDCTL |= 0x08
#define WDT_DISABLE()  WDCTL &= ~0x08




/******************************************************************************
*******************             ADC macros/functions        *******************
*******************************************************************************

These functions/macros simplifies usage of the ADC.

******************************************************************************/
// Macro for setting up a single conversion. If ADCCON1.STSEL = 11, using this
// macro will also start the conversion.
#define ADC_SINGLE_CONVERSION(settings) \
   do{ ADCCON3 = settings; }while(0)

// Macro for setting up a single conversion
#define ADC_SEQUENCE_SETUP(settings) \
   do{ ADCCON2 = settings; }while(0)

// Where _settings_ are the following:
// Reference voltage:
#define ADC_REF_1_25_V      0x00     // Internal 1.25V reference
#define ADC_REF_P0_7        0x40     // External reference on AIN7 pin
#define ADC_REF_AVDD        0x80     // AVDD_SOC pin
#define ADC_REF_P0_6_P0_7   0xC0     // External reference on AIN6-AIN7 differential input

// Resolution (decimation rate):
#define ADC_8_BIT           0x00     //  64 decimation rate
#define ADC_10_BIT          0x10     // 128 decimation rate
#define ADC_12_BIT          0x20     // 256 decimation rate
#define ADC_14_BIT          0x30     // 512 decimation rate
// Input channel:
#define ADC_AIN0            0x00     // single ended P0_0
#define ADC_AIN1            0x01     // single ended P0_1
#define ADC_AIN2            0x02     // single ended P0_2
#define ADC_AIN3            0x03     // single ended P0_3
#define ADC_AIN4            0x04     // single ended P0_4
#define ADC_AIN5            0x05     // single ended P0_5
#define ADC_AIN6            0x06     // single ended P0_6
#define ADC_AIN7            0x07     // single ended P0_7
#define ADC_GND             0x0C     // Ground
#define ADC_TEMP_SENS       0x0E     // on-chip temperature sensor
#define ADC_VDD_3           0x0F     // (vdd/3)


//-----------------------------------------------------------------------------
// Macro for starting the ADC in continuous conversion mode
#define ADC_SAMPLE_CONTINUOUS() \
   do { ADCCON1 &= ~0x30; ADCCON1 |= 0x10; } while (0)

// Macro for stopping the ADC in continuous mode (and setting the ADC to be
// started manually by ADC_SAMPLE_SINGLE() )
#define ADC_STOP() \
  do { ADCCON1 |= 0x30; } while (0)

// Macro for initiating a single sample in single-conversion mode (ADCCON1.STSEL = 11).
#define ADC_SAMPLE_SINGLE() \
  do { ADC_STOP(); ADCCON1 |= 0x40;  } while (0)

// Macro for configuring the ADC to be started from T1 channel 0. (T1 ch 0 must be in compare mode!!)
#define ADC_TRIGGER_FROM_TIMER1()  do { ADC_STOP(); ADCCON1 &= ~0x10;  } while (0)

// Expression indicating whether a conversion is finished or not.
#define ADC_SAMPLE_READY()  (ADCCON1 & 0x80)

// Macro for setting/clearing a channel as input of the ADC
#define ADC_ENABLE_CHANNEL(ch)   ADCCFG |=  (0x01<<ch)
#define ADC_DISABLE_CHANNEL(ch)  ADCCFG &= ~(0x01<<ch)



/******************************************************************************
* @fn  halAdcSampleSingle
*
* @brief
*      This function makes the adc sample the given channel at the given
*      resolution with the given reference.
*
* Parameters:
*
* @param BYTE reference
*          The reference to compare the channel to be sampled.
*        BYTE resolution
*          The resolution to use during the sample (8, 10, 12 or 14 bit)
*        BYTE input
*          The channel to be sampled.
*
* @return INT16
*          The conversion result
*
******************************************************************************/
INT16 halAdcSampleSingle(BYTE reference, BYTE resolution, UINT8 input);



/******************************************************************************
* @fn  halGetAdcValue
*
* @brief
*      Returns the result of the last ADC conversion.
*
* Parameters:
*
* @param  void
*
* @return INT16
*         The ADC value
*
******************************************************************************/
INT16 halGetAdcValue(void);




/******************************************************************************
*******************    RF communication functions/macros    *******************
*******************************************************************************
// The functions in this section are designed to simplify usage of the radio.
// A function for setup, transmitting and receiption are included. In addition,
// macros for writing instructions to the Command Stobe Processor are included.

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

/******************************************************************************
* @fn  halRfSend
*
* @brief
*      This function sends the given number of bytes using the radio. The radio
*      frequency must be set before sending. Can send a maximum of 125 bytes.
*      The function waits until the transfer is complete.
*
* Parameters:
*
* @param  BYTE*	 pData
*         Pointer to the start of the data to be transferred.
* @param  BYTE	 length
*         The number of bytes to be transferred.
*
* @return BYTE
*         Returns the number of transferred bytes.
*
******************************************************************************/
BYTE halRfSendPacket(BYTE* pData, BYTE length);



/******************************************************************************
* @fn  halRfReceivePacket
*
* @brief
*      This function receives a maximum of 128 bytes sent by another radio
*      transmitter. The function will wait for _timeOut_ ms before returning
*      without receiving any data.
*
* Parameters:
*
* @param  BYTE*	 pData
*         Pointer to the received packet is to be stored.
* @param  BYTE pRssi
*         Pointer to where to store the received signal strength indicator calculation.
* @param  BYTE pLqi
*         Pointer to where to store the link quality indicator.
* @param  BYTE	 timeOut
*         The number of ms the chip will wait for a packet to be received.
*
* @return BYTE
*         Returns the number of received bytes.
*
******************************************************************************/
BYTE halRfReceivePacket(BYTE* pData, BYTE*pRssi, BYTE* pLqi, BYTE timeOut);

/******************************************************************************
* @fn  halRfConfig
*
* @brief
*      This function configures the radio for simple send and receive operation.
*      Advanced IEEE 802.15.4 functionality such as Address Decoding, AutoAck
*      etc is not employed. CRC value is automatically calculated to enable
*      detection of packet corruption. The desired frequency is set. The
*      function returns TRUE if the configuration is successful.
*
* Parameters:
*
* @param  UINT32 frequency
*         The desired Radio Frequency in kHz.
*
* @return BOOL
*         Returns TRUE if the configuration is successful and FALSE otherwise.
*
******************************************************************************/
BOOL halRfConfig(UINT32 frequency);

/******************************************************************************
* @fn  halRfSetRadioFrequency
*
* @brief
*      This function sets the radio frequency of the radio. The requency must
*      be within the range of the radio.
*
* Parameters:
*
* @param  WORD	 frequency
*         The desired Radio Frequency in kHz.
*
* @return void
*
******************************************************************************/
void halRfSetRadioFrequency(UINT32 frequency);

#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
#define TX_ACTIVE_FLAG      0x10
#define FIFO_FLAG           0x08
#define FIFOP_FLAG          0x04
#define SFD_FLAG            0x02
#define CCA_FLAG            0x01

// Radio status states
#define TX_ACTIVE   (RFSTATUS & TX_ACTIVE_FLAG)
#define FIFO        (RFSTATUS & FIFO_FLAG)
#define FIFOP       (RFSTATUS & FIFOP_FLAG)
#define SFD         (RFSTATUS & SFD_FLAG)
#define CCA         (RFSTATUS & CCA_FLAG)

// Various radio settings
#define ADR_DECODE          0x08
#define AUTO_CRC            0x20
#define AUTO_TX2RX_OFF      0x08
#define RX2RX_TIME_OFF      0x04
#define ACCEPT_ACKPKT       0x01






//-----------------------------------------------------------------------------
// Command Strobe Processor (CSP) instructions
//-----------------------------------------------------------------------------
#define DECZ        do{RFST = 0xBF;                       }while(0)
#define DECY        do{RFST = 0xBE;                       }while(0)
#define INCY        do{RFST = 0xBD;                       }while(0)
#define INCMAXY(m)  do{RFST = (0xB8 | m);                 }while(0) // m < 8 !!
#define RANDXY      do{RFST = 0xBC;                       }while(0)
#define INT         do{RFST = 0xB9;                       }while(0)
#define WAITX       do{RFST = 0xBB;                       }while(0)
#define WAIT(w)     do{RFST = (0x80 | w);                 }while(0) // w < 64 !!
#define WEVENT      do{RFST = 0xB8;                       }while(0)
#define LABEL       do{RFST = 0xBA;                       }while(0)
#define RPT(n,c)    do{RFST = (0xA0 | (n << 3) | c);      }while(0) // n = TRUE/FALSE && (c < 8)
#define SKIP(s,n,c) do{RFST = ((s << 4) | (n << 3) | c);  }while(0) // && (s < 8)
#define STOP        do{RFST = 0xDF;                       }while(0)
#define SNOP        do{RFST = 0xC0;                       }while(0)
#define STXCALN     do{RFST = 0xC1;                       }while(0)
#define SRXON       do{RFST = 0xC2;                       }while(0)
#define STXON       do{RFST = 0xC3;                       }while(0)
#define STXONCCA    do{RFST = 0xC4;                       }while(0)
#define SRFOFF      do{RFST = 0xC5;                       }while(0)
#define SFLUSHRX    do{RFST = 0xC6;                       }while(0)
#define SFLUSHTX    do{RFST = 0xC7;                       }while(0)
#define SACK        do{RFST = 0xC8;                       }while(0)
#define SACKPEND    do{RFST = 0xC9;                       }while(0)
#define ISSTOP      do{RFST = 0xFF;                       }while(0)
#define ISSTART     do{RFST = 0xFE;                       }while(0)
#define ISTXCALN    do{RFST = 0xE1;                       }while(0)
#define ISRXON      do{RFST = 0xE2;                       }while(0)
#define ISTXON      do{RFST = 0xE3;                       }while(0)
#define ISTXONCCA   do{RFST = 0xE4;                       }while(0)
#define ISRFOFF     do{RFST = 0xE5;                       }while(0)
#define ISFLUSHRX   do{RFST = 0xE6;                       }while(0)
#define ISFLUSHTX   do{RFST = 0xE7;                       }while(0)
#define ISACK       do{RFST = 0xE8;                       }while(0)
#define ISACKPEND   do{RFST = 0xE9;                       }while(0)


// Conditions _c_ for the RPT and SKIP instructions of the CSP
#define CCA_TRUE            0x00;
#define RECEIVING           0x01;
#define MCU_BIT_IS_1        0x02;
#define COMMAND_BUF_EMPT    0x03;
#define REGX_IS_0           0x04;
#define REGY_IS_0           0x05;
#define REGZ_IS_0           0x06;
#define NO_OP               0x07;




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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久噜噜噜久久中文字幕色伊伊 | 99国产精品国产精品久久| 亚洲制服欧美中文字幕中文字幕| 六月婷婷色综合| 久久久国产综合精品女国产盗摄| 91精品国产综合久久精品| 99精品国产99久久久久久白柏| a在线播放不卡| 国产一区二区三区最好精华液| 成人精品免费网站| 欧美在线小视频| 精品国产一区二区三区忘忧草 | 日韩精品一区二区三区四区| 亚洲国产精品一区二区久久恐怖片| 欧美日韩国产综合一区二区三区| 久久99精品国产麻豆婷婷洗澡| 中文字幕一区二| 91污在线观看| 韩国三级中文字幕hd久久精品| 亚洲成人av一区二区| 成人激情黄色小说| 久久中文字幕电影| 久久精品国内一区二区三区| 欧美视频一区二区在线观看| 中文字幕日本不卡| 成人美女视频在线看| 国产欧美精品一区aⅴ影院| 国产在线不卡一区| 欧美精品一区二区三区蜜桃视频 | 777奇米四色成人影色区| 亚洲精品视频在线观看免费| 99re热这里只有精品免费视频| 欧美国产乱子伦| 成人网在线免费视频| 欧美国产97人人爽人人喊| 成人午夜大片免费观看| 国产精品国产三级国产aⅴ中文| 国产成人精品免费网站| 国产日韩精品一区二区三区在线| 精品亚洲国内自在自线福利| 精品成人免费观看| 国产乱人伦偷精品视频不卡 | 成人小视频免费在线观看| 久久网站热最新地址| 最新日韩在线视频| 高清不卡一区二区| 日韩经典中文字幕一区| 国产日韩欧美麻豆| 亚洲欧美中日韩| 日本欧美久久久久免费播放网| 欧美日韩在线播放三区四区| 精品国产亚洲一区二区三区在线观看 | 一区二区三区欧美日韩| 色拍拍在线精品视频8848| 亚洲欧洲综合另类| 精品婷婷伊人一区三区三| 亚洲一区在线观看免费观看电影高清 | 成人黄色777网| 国产成人精品一区二区三区网站观看| 色婷婷国产精品| 亚洲欧洲中文日韩久久av乱码| 亚洲国产成人tv| 国产性做久久久久久| 国产在线视频一区二区三区| 中文字幕欧美日韩一区| 97se亚洲国产综合自在线观| 天天操天天干天天综合网| 亚洲精品一区二区精华| 色先锋资源久久综合| 免费国产亚洲视频| 国产精品盗摄一区二区三区| 欧美精品自拍偷拍| 成人午夜精品在线| 日本在线不卡一区| 亚洲欧美一区二区三区国产精品| 欧美精品在线一区二区三区| 不卡区在线中文字幕| 日韩精品福利网| 国产精品久久久久久亚洲毛片| 91精品欧美综合在线观看最新| 成人美女视频在线看| 青青草国产成人av片免费| 国产精品理伦片| 精品国产第一区二区三区观看体验| 91最新地址在线播放| 国产精品影视天天线| 视频一区二区三区入口| 国产精品萝li| 国产亚洲1区2区3区| 日韩一区二区麻豆国产| 欧美在线一区二区三区| 丰满白嫩尤物一区二区| 日韩成人精品在线观看| 亚洲国产精品综合小说图片区| 亚洲丝袜美腿综合| 色综合视频一区二区三区高清| 国产精品成人免费精品自在线观看| 偷拍一区二区三区四区| 欧美一卡二卡三卡| 日本高清不卡一区| 欧美亚洲动漫精品| 国产九色sp调教91| 国产麻豆欧美日韩一区| 国产精品1区2区3区| 94色蜜桃网一区二区三区| 日韩免费高清av| 亚洲欧洲av在线| 麻豆91精品视频| 欧美日精品一区视频| 欧美一区二区网站| 色婷婷激情综合| jiyouzz国产精品久久| 日韩精品成人一区二区三区| 中文字幕一区二| 国产精品护士白丝一区av| 精品不卡在线视频| 日韩午夜在线影院| 日韩一区二区三区免费看 | 欧美一区二区在线观看| 99精品欧美一区二区三区小说| 成人永久免费视频| aa级大片欧美| 在线精品观看国产| 欧美日韩激情一区二区三区| 欧美日精品一区视频| 在线不卡一区二区| 日韩一区二区三区免费看 | 午夜欧美在线一二页| 亚洲va中文字幕| 丝袜美腿亚洲色图| 美女视频黄a大片欧美| 精东粉嫩av免费一区二区三区| 久久av中文字幕片| 国产成人精品免费| 成人免费视频网站在线观看| 99精品国产热久久91蜜凸| 日本精品视频一区二区三区| 67194成人在线观看| 久久综合色一综合色88| 亚洲图片欧美激情| 亚洲午夜影视影院在线观看| 亚洲男同1069视频| 99v久久综合狠狠综合久久| 精品国产乱码久久久久久久久 | 97精品国产露脸对白| 欧美一级在线观看| 亚洲免费伊人电影| 精品少妇一区二区| 一区二区三区视频在线看| 91久久精品一区二区三区| 亚洲国产sm捆绑调教视频| 欧美区在线观看| 国产91综合一区在线观看| 亚洲国产精品一区二区久久恐怖片 | 国产精品影音先锋| 国产一区免费电影| 欧美日韩不卡一区二区| 国产精品国产自产拍在线| 国产老肥熟一区二区三区| 国产亚洲va综合人人澡精品| 亚洲国产精品一区二区久久恐怖片 | 欧美三级电影一区| 欧美性极品少妇| 久久久不卡影院| 亚洲午夜久久久久久久久电影院| 精品在线观看视频| 欧美视频一区在线| 国产精品麻豆网站| 久久99蜜桃精品| 欧美日韩高清一区二区不卡| 日本一区二区动态图| 麻豆精品一区二区综合av| 91丨porny丨户外露出| 久久免费午夜影院| 日韩精品免费专区| 99国产精品视频免费观看| 久久夜色精品国产噜噜av| 亚洲国产cao| 欧美最猛性xxxxx直播| 国产精品久久久久久久久晋中| 美国av一区二区| 欧美日本不卡视频| 亚洲激情欧美激情| 91小视频在线| 中文字幕成人av| 国产一区二区在线看| 欧美一级二级三级蜜桃| 亚洲电影在线免费观看| 色94色欧美sute亚洲13| 国产精品电影院| a亚洲天堂av| 综合久久久久综合| 成人aa视频在线观看| 欧美激情中文字幕一区二区| 极品少妇一区二区三区精品视频| 99精品热视频| 成人涩涩免费视频| 91精品福利视频| 日韩视频一区在线观看| 国产成人免费视频网站|