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

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

?? config.h

?? CC2510 timer1 PWM輸出2M波形
?? H
?? 第 1 頁 / 共 5 頁
字號:


// Macros for turning timers on or off
#define TIMER1_RUN(value)      (T1CTL = (value) ? T1CTL|0x02 : T1CTL&~0x03)
#define TIMER3_RUN(value)      (T3CTL = (value) ? T3CTL|0x10 : T3CTL&~0x10)
#define TIMER4_RUN(value)      (T4CTL = (value) ? T4CTL|0x10 : T4CTL&~0x10)

// Macro for enabling/ disabling interrupts from the channels of timer 1, 3 or 4.
#define TIMER_CHANNEL_INTERRUPT_ENABLE(timer, channel, value) \
   do{                                                        \
      if(value){                                              \
         T##timer##CCTL##channel## |= 0x40;                   \
      } else {                                                \
         T##timer##CCTL##channel## &= ~0x40;                  \
      }                                                       \
   } while(0)

// Sleep Timer / Wake On Radio (WOR) Timer

//Macro for initialising the sleep timer / WOR timer.
#define SLEEP_TIMER_INIT()                                    \
   do{                                                        \
      WOREVT1 = 0x87;                                         \
      WOREVT0 = 0x6B;                                         \
      WORCTL = 0x74;                                          \
      WORIRQ = 0x00;                                          \
   } while(0)

// Macros for enabling / disabling interrupt for event 0 and 1.
#define SLEEP_TIMER_ENABLE_EVENT0_INT(val) do{ WORIRQ = (val) ? WORIRQ | 0x10 : WORIRQ & ~0x10; }while(0)
#define SLEEP_TIMER_ENABLE_EVENT1_INT(val) do{ WORIRQ = (val) ? WORIRQ | 0x20 : WORIRQ & ~0x20; }while(0)

// Macro for resetting the Sleep / WOR timer
#define SLEEP_TIMER_RESET()      WORCTL |= 0x04




/******************************************************************************
*******************          Watch Dog Timer (WDT)          *******************
*******************************************************************************

The WDT may be used to prevent the unit from being trapped in a system
stalemate, i.e. an endless waiting state. The WDT must be reset before it times
out. If a timeout occurs, the system is reset.

The WDT can also be configured as a normal timer which generates interrupt at
each timeout. This must be configured manually.
******************************************************************************/

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


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



#define STOP_RADIO()        SIDLE();
// RF interrupt flags
#define IRQ_TXUNF           0x80
#define IRQ_RXOVF           0x40
#define IRQ_TIMEOUT         0x20
//#define IRQ_DONE            0x10
#define IRQ_CS              0x08
#define IRQ_PQT             0x04
#define IRQ_CCA             0x02
#define IRQ_SFD             0x01

// RF status flags
#define CRC_OK_FLAG         0x80
#define CS_FLAG             0x40
#define PQT_REACHED_FLAG    0x20
#define CCA_FLAG            0x10
#define SFD_FLAG            0x08

// Radio status flags
#define CRC_OK_FLAG         0x80
#define CS_FLAG             0x40
#define PQT_REACHED_FLAG    0x20
#define CCA_FLAG            0x10
#define SFD_FLAG            0x08

// Radio status states
#define CRC_OK             (PKTSTATUS & CRC_OK_FLAG)
#define CS                 (PKTSTATUS & CS_FLAG)
#define PQT_REACHED        (PKTSTATUS & PQT_REACHED_FLAG)
#define CCA                (PKTSTATUS & CCA_FLAG)
#define SFD                (PKTSTATUS & SFD_FLAG)

// Various radio settings
#define APPEND_STATUS         0x04
#define WHITE_DATA            0x40
#define CRC_EN                0x04
#define VARIABLE_PKT_LEN      0x01
#define STAY_INR_RX_AFTER_RX  0x0C
#define RX_AFTER_TX           0x03
#define CALIBRATE_WHEN_COMING_FROM_IDLE   0x10
#define CALIBRATE_EVERY_4TH   0x30
#define PA_POWER_7            0x07
#define PA_POWER_0            0x00



//------------------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------------
// Command Strobes
//------------------------------------------------------------------------------------------------------
#define SFSTXON()     do{RFST = 0x00;}while(0)
#define SCAL()        do{RFST = 0x01;}while(0)
#define SRX()         do{RFST = 0x02;}while(0)
#define STX()         do{RFST = 0x03;}while(0)
#define SIDLE()       do{RFST = 0x04;}while(0)
#define SAFC()        do{RFST = 0x05;}while(0)
#define SNOP()        do{RFST = 0xFF;}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;




/******************************************************************************
******************* Memory space mapping macros/functions  ********************
*******************************************************************************/

// Macros for enabling or disabling unified code space.
// Unified code space is generally used when executing programs from RAM.
#define ENABLE_UINIFIED_CODE_SPACE()   do { MEMCTR |= 0x40;  } while (0)
#define DISABLE_UINIFIED_CODE_SPACE()  do { MEMCTR &= ~0x40;  } while (0)


/******************************************************************************
*******************   AES encryption / decryption functions *******************
*******************************************************************************/



#define AES_BUSY    0x08
#define ENCRYPT     0x00
#define DECRYPT     0x01

// Macro for setting the mode of the AES operation
#define AES_SETMODE(mode) do { ENCCS &= ~0x70; ENCCS |= mode; } while (0)

// _mode_ is one of
#define CBC         0x00
#define CFB         0x10
#define OFB         0x20
#define CTR         0x30
#define ECB         0x40
#define CBC_MAC     0x50

// Macro for starting or stopping encryption or decryption
#define AES_SET_ENCR_DECR_KEY_IV(mode) \
   do {                                \
    ENCCS = (ENCCS & ~0x07) | mode;    \
   } while(0)

// Where _mode_ is one of
#define AES_ENCRYPT     0x00
#define AES_DECRYPT     0x02
#define AES_LOAD_KEY    0x04
#define AES_LOAD_IV     0x06


// Macro for starting the AES module for either encryption, decryption,
// key or initialisation vector loading.
#define AES_START()     ENCCS |= 0x01


/******************************************************************************
*************         Random Generator macros / functions          ************
******************************************************************************/
//
// Example usage:
//
//    BYTE rnd;
//
//    //first initialise the random generator:
//    halInitRandomGenerator();
//
//
//    // Each time the random generator is read, the following sequence should
//    // be used (clock the random generator for each read):
//       CLOCK_RANDOM_GENERATOR();
//       rnd = GET_RANDOM_VALUE();
//
//

// Macro for enabling the random generator
#define ENABLE_RANDOM_GENERATOR()   do{ ADCCON1 &= ~0x0C; } while(0)

// Macro for clocking the random generator
#define CLOCK_RANDOM_GENERATOR()   do{ ADCCON1 |= 0x04; } while(0)

// Macro for getting a random byte
#define GET_RANDOM_BYTE(a)      \
   do{                           \
      CLOCK_RANDOM_GENERATOR();  \
      a = RNDH;                  \
   }while(0)


// Macro for getting a random word
#define GET_RANDOM_WORD(a)      \
   do{                           \
      CLOCK_RANDOM_GENERATOR();  \
      a = (((WORD)RNDH << 8) | RNDL);                  \
   }while(0)


#endif //HAL_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷久久99综合精品jk白丝 | 精品国产三级电影在线观看| 欧美情侣在线播放| 久久综合久久综合亚洲| 国产精品剧情在线亚洲| 一级做a爱片久久| 久久精品99久久久| a4yy欧美一区二区三区| 欧美日韩激情一区二区三区| 国产亚洲一区二区三区在线观看| 中文字幕乱码日本亚洲一区二区 | 亚洲第一会所有码转帖| 日本美女一区二区| 风间由美一区二区av101 | 亚洲卡通动漫在线| 日本美女视频一区二区| 成人禁用看黄a在线| 在线91免费看| 精品成人一区二区| 日韩理论电影院| 日韩电影一区二区三区| 99亚偷拍自图区亚洲| 日韩手机在线导航| 成人欧美一区二区三区1314| 久久精品国产一区二区三| 成人美女视频在线观看| 91精品国产综合久久精品app | 不卡影院免费观看| 日韩一区二区视频| 亚洲欧美电影院| 国产精品99久久久久久有的能看 | 国产亚洲一二三区| 视频在线观看国产精品| 99精品国产91久久久久久| 亚洲精品在线一区二区| 性做久久久久久久免费看| 99久久久精品| 久久久99久久| 狠狠色丁香久久婷婷综合丁香| 在线观看三级视频欧美| 亚洲国产精品成人综合| 国产最新精品免费| 欧美视频一区在线| 亚洲无人区一区| 91久久久免费一区二区| 亚洲免费在线播放| 97se狠狠狠综合亚洲狠狠| 中文字幕亚洲成人| 国产传媒一区在线| 欧美国产一区视频在线观看| 国产一区在线看| 久久久不卡网国产精品一区| 另类的小说在线视频另类成人小视频在线| 欧美亚男人的天堂| 一区二区三区毛片| 欧美午夜片在线观看| 亚洲黄色av一区| 色哟哟一区二区三区| 日韩毛片在线免费观看| 91蜜桃视频在线| 亚洲图片有声小说| 制服丝袜亚洲精品中文字幕| 日韩高清中文字幕一区| 欧美一级艳片视频免费观看| 蜜桃久久精品一区二区| 欧美大片一区二区| 国内精品在线播放| 国产精品视频在线看| 97久久久精品综合88久久| 亚洲免费av在线| 91.麻豆视频| 国产一区二区三区四区五区入口| 久久精子c满五个校花| 成人aaaa免费全部观看| 国产亚洲制服色| 91蜜桃视频在线| 美女一区二区在线观看| 国产日韩在线不卡| 色综合久久九月婷婷色综合| 丝袜诱惑亚洲看片| 久久久精品免费网站| 北条麻妃国产九九精品视频| 亚洲一区二区视频| 精品91自产拍在线观看一区| heyzo一本久久综合| 日韩精品亚洲专区| 精品福利av导航| 成人少妇影院yyyy| 有码一区二区三区| 精品处破学生在线二十三| 91麻豆国产福利精品| 日韩电影一区二区三区| 国产精品久久三| 777色狠狠一区二区三区| 成人开心网精品视频| 日韩国产高清在线| 成人免费小视频| 欧美日韩视频在线一区二区| 国产成人精品三级麻豆| 亚洲va中文字幕| 亚洲欧洲在线观看av| 日韩欧美在线影院| 91福利在线看| 成人免费av网站| 紧缚捆绑精品一区二区| 亚洲国产精品一区二区www| 国产精品私人自拍| 欧美videofree性高清杂交| 国产盗摄女厕一区二区三区| 一区二区三区在线视频观看58 | 青草国产精品久久久久久| 亚洲欧美日韩国产另类专区 | 日韩精品每日更新| 一区二区欧美国产| 亚洲国产精品t66y| www精品美女久久久tv| 日韩视频不卡中文| 欧美精品丝袜久久久中文字幕| 成人精品鲁一区一区二区| 亚洲第一主播视频| 国产人成亚洲第一网站在线播放| 欧美伦理视频网站| 欧美亚洲禁片免费| 在线看国产日韩| 91视频免费看| av不卡一区二区三区| 成人福利在线看| av福利精品导航| 大陆成人av片| 狠狠色2019综合网| 久草这里只有精品视频| 性欧美疯狂xxxxbbbb| 亚洲欧洲一区二区三区| 综合亚洲深深色噜噜狠狠网站| 久久人人爽人人爽| 久久久精品国产免费观看同学| 久久亚洲影视婷婷| 久久蜜桃一区二区| 久久精品亚洲国产奇米99| 久久综合久久综合亚洲| 久久精品视频免费观看| 欧美激情一区在线观看| 国产日韩欧美a| 亚洲欧洲99久久| 亚洲一区在线观看视频| 日韩中文字幕区一区有砖一区| 日韩中文字幕91| 美脚の诱脚舐め脚责91| 国产一区二区三区免费在线观看| 韩国av一区二区三区在线观看| 国精产品一区一区三区mba桃花 | 国产成人综合自拍| av一区二区三区四区| 91视频在线观看免费| 欧美日韩午夜影院| 精品久久久久一区二区国产| 精品国内片67194| 欧美成人精品高清在线播放| 精品日韩av一区二区| 亚洲国产岛国毛片在线| 亚洲精品成人悠悠色影视| 五月激情综合色| 国产精品一区二区男女羞羞无遮挡| 99精品一区二区| 欧美精品一区男女天堂| 亚洲一区二区三区自拍| 国产91丝袜在线播放| 日韩视频不卡中文| 亚洲最大成人综合| 成人在线视频首页| 日韩一级片在线播放| 亚洲狼人国产精品| 成人av在线网| 欧美精品一区二| 午夜精品123| 在线精品观看国产| 中文字幕一区二区三区av| 韩日欧美一区二区三区| 欧美猛男超大videosgay| 一区二区在线免费观看| 成人午夜免费视频| 久久久久久久久久久电影| 秋霞成人午夜伦在线观看| 欧美三级蜜桃2在线观看| 中文字幕亚洲在| 9人人澡人人爽人人精品| 国产欧美日韩中文久久| 久久99精品国产麻豆不卡| 884aa四虎影成人精品一区| 夜夜嗨av一区二区三区四季av| 97久久精品人人澡人人爽| 国产女人水真多18毛片18精品视频 | 日本一区二区三区电影| 激情伊人五月天久久综合| 欧美丰满嫩嫩电影| 日韩成人免费在线| 欧美一级二级在线观看| 日韩国产精品久久久| 欧美一二三四在线| 蜜桃久久久久久|