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

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

?? hal.h

?? 語言為C語言
?? H
?? 第 1 頁 / 共 3 頁
字號:
#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 PAN_COORDINATOR     0x10
#define ADR_DECODE          0x08
#define AUTO_CRC            0x20
#define AUTO_ACK            0x10
#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)

#define PACKET_FOOTER_SIZE 2    //bytes after the payload


/******************************************************************************
*******************              Utility functions          *******************
******************************************************************************/

/******************************************************************************
* @fn  halWait
*
* @brief
*      This function waits approximately a given number of m-seconds
*      regardless of main clock speed.
*
* Parameters:
*
* @param  BYTE	 wait
*         The number of m-seconds to wait.
*
* @return void
*
******************************************************************************/
void halWait(BYTE wait);



/******************************************************************************
*******************             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 AIN6-AIN7定義在P0_6 P0_7口上

// 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: //輸入選擇 對應于ADCCON3寄存器值
#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);


/******************************************************************************
*******************      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; } \
      else if (mode == 3)  { SLEEP |= 0x03;  } \
      else { SLEEP &= ~0x03; SLEEP |= mode;  } \
      PCON |= 0x01;                            \
      asm("NOP");                              \
   }while (0)


// Where _mode_ is one of
#define POWER_MODE_0  0x00  // Clock oscillators on, voltage regulator on
#define POWER_MODE_1  0x01  // 32.768 KHz oscillator on, voltage regulator on
#define POWER_MODE_2  0x02  // 32.768 KHz oscillator on, voltage regulator off
#define POWER_MODE_3  0x03  // All clock oscillators off, voltage regulator off

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








#endif //HAL_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本大道久久精品懂色aⅴ| 国产馆精品极品| 亚洲主播在线观看| 伊人性伊人情综合网| 亚洲欧美在线视频观看| 国产精品对白交换视频| 亚洲自拍偷拍图区| 一区二区三区蜜桃| 午夜不卡在线视频| 男女男精品网站| 精品一区二区三区av| 国产精品一区一区| 成人激情文学综合网| 91美女福利视频| 欧美日韩一区在线观看| 日韩视频中午一区| 国产婷婷一区二区| 亚洲欧美在线aaa| 亚洲一二三四区| 日本aⅴ免费视频一区二区三区 | 国产精品一区二区不卡| 国产盗摄女厕一区二区三区| 国产精品香蕉一区二区三区| av电影一区二区| 欧美性猛交一区二区三区精品| 欧美日韩mp4| 久久久久久久综合色一本| 亚洲国产岛国毛片在线| 一区二区在线看| 免费成人av在线播放| 国产91精品入口| 91福利在线导航| 欧美大片在线观看一区| 国产精品福利电影一区二区三区四区 | 国产欧美一区视频| 亚洲视频网在线直播| 亚洲精品高清在线观看| 天堂成人免费av电影一区| 精品一区二区成人精品| 成人aa视频在线观看| 欧美日韩二区三区| 久久精品免费在线观看| 亚洲图片欧美色图| 国产精品系列在线观看| 色久综合一二码| 精品国产91亚洲一区二区三区婷婷| 亚洲欧洲av在线| 日本不卡一区二区| 成人免费黄色在线| 91精品国产乱| 中文字幕日韩一区| 日韩和欧美的一区| 99麻豆久久久国产精品免费| 欧美一区二区三区免费大片 | 精品在线播放免费| 色美美综合视频| 久久伊99综合婷婷久久伊| 亚洲精品v日韩精品| 激情六月婷婷久久| 欧美麻豆精品久久久久久| 国产精品免费aⅴ片在线观看| 日日欢夜夜爽一区| 9久草视频在线视频精品| 精品国产一区二区在线观看| 亚洲影院理伦片| 成人不卡免费av| 精品不卡在线视频| 亚洲mv在线观看| 色综合久久精品| 国产欧美精品一区| 九色|91porny| 欧美一区二区人人喊爽| 一区二区三区日韩欧美| 成人午夜精品一区二区三区| 日韩欧美卡一卡二| 亚洲一区二区三区四区五区黄 | 国产成人免费视频网站| 日韩一区和二区| 午夜欧美2019年伦理| 99re8在线精品视频免费播放| 久久久精品免费免费| 婷婷成人激情在线网| 色综合天天综合| 五月激情综合色| 欧美色精品在线视频| 亚洲成人动漫在线免费观看| 不卡一卡二卡三乱码免费网站| 欧美变态凌虐bdsm| 国产在线乱码一区二区三区| 99久久精品免费看国产免费软件| 中文字幕免费观看一区| 亚洲成人久久影院| 日韩你懂的电影在线观看| 中文字幕欧美一区| 国内成+人亚洲+欧美+综合在线| 欧美日韩国产片| 午夜伊人狠狠久久| 欧美日韩在线免费视频| 一区二区三区欧美在线观看| 91一区二区三区在线观看| 国产精品区一区二区三区| 国产成人免费9x9x人网站视频| 久久久夜色精品亚洲| 韩国成人福利片在线播放| 久久综合九色综合久久久精品综合 | 欧美在线观看视频一区二区| 一区二区三区蜜桃网| 欧美伊人精品成人久久综合97| 亚洲一区二区偷拍精品| 欧美日韩夫妻久久| 日产国产高清一区二区三区| 日韩一区二区免费在线电影| 另类人妖一区二区av| 久久婷婷久久一区二区三区| 国产.精品.日韩.另类.中文.在线.播放| 久久久久久久久一| 99精品欧美一区二区三区综合在线| 亚洲三级电影全部在线观看高清| 日本韩国欧美一区| 午夜视频在线观看一区二区三区| 日韩一区二区三区免费看| 麻豆视频一区二区| 欧美经典一区二区| 97久久精品人人做人人爽| 亚洲一区二区三区四区在线免费观看 | 欧美一区二区日韩| 国产精品自在在线| 亚洲视频香蕉人妖| 777奇米成人网| 国产一区二区剧情av在线| 国产精品美女久久福利网站 | 中文字幕一区日韩精品欧美| 一本久久综合亚洲鲁鲁五月天 | 91久久精品一区二区三| 日本不卡一区二区三区高清视频| 久久久精品蜜桃| 一本久久精品一区二区| 免费久久99精品国产| 久久精品人人做| 欧洲av在线精品| 经典三级视频一区| 亚洲三级在线免费观看| 欧美一级xxx| 99久久国产综合精品女不卡| 亚洲国产一区二区三区| 亚洲精品一区二区三区福利| 一本大道综合伊人精品热热| 蜜臀91精品一区二区三区| 国产精品久久久久久久久搜平片 | 欧美日韩黄色影视| 国产精品一区二区无线| 久久成人免费日本黄色| 国产精品情趣视频| 欧美精品tushy高清| 国产91富婆露脸刺激对白| 亚洲丶国产丶欧美一区二区三区| 久久影院午夜论| 欧美日韩在线三级| 99久久亚洲一区二区三区青草| 天堂va蜜桃一区二区三区漫画版| 中文字幕二三区不卡| 日韩一级欧美一级| 色噜噜狠狠一区二区三区果冻| 国产一区二区在线免费观看| 亚洲福中文字幕伊人影院| 久久久精品一品道一区| 欧美精品在欧美一区二区少妇 | 国产亚洲精品精华液| 777亚洲妇女| 色美美综合视频| 国产电影精品久久禁18| 美国毛片一区二区三区| 亚洲图片欧美综合| 日韩理论片中文av| 久久久久久久综合| 日韩片之四级片| 欧美精品一二三区| 91麻豆国产福利精品| 高清av一区二区| 国产精品一区久久久久| 麻豆精品在线播放| 午夜欧美在线一二页| 亚洲激情男女视频| 中文字幕欧美一区| 中文一区二区在线观看| 精品久久五月天| 6080国产精品一区二区| 欧美性高清videossexo| 色综合久久88色综合天天6 | 久久新电视剧免费观看| 777色狠狠一区二区三区| 欧美视频一区二区三区| 色狠狠桃花综合| 99国产欧美另类久久久精品| 粉嫩av一区二区三区在线播放| 极品瑜伽女神91| 久久精品99国产精品| 久久 天天综合| 麻豆成人综合网| 久久精品国产久精国产|