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

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

?? light_switch.c

?? cc2430最新的例子程序
?? C
字號:
/***********************************************************************************
  Filename: light_switch.c

  Description:  This application function either as a light or a
  switch toggling the ligh. The role of the
  application is chosen in the menu with the joystick at initialisation.

  Push S1 to enter the menu. Choose either switch or
  light and confirm choice with S1.
  Joystick Up: Sends data from switch to light

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

/***********************************************************************************
* INCLUDES
*/
#include <hal_lcd.h>
#include <hal_led.h>
#include <hal_joystick.h>
#include <hal_assert.h>
#include <hal_board.h>
#include <hal_int.h>
#include "hal_mcu.h"
#include "hal_button.h"
#include "hal_rf.h"
#include "util_lcd.h"
#include "basic_rf.h"


/***********************************************************************************
* CONSTANTS
*/
// Application parameters
#define RF_CHANNEL                25      // 2.4 GHz RF channel

// BasicRF address definitions
#define PAN_ID                0x2007
#define SWITCH_ADDR           0x2520
#define LIGHT_ADDR            0xBEEF
#define APP_PAYLOAD_LENGTH        1
#define LIGHT_TOGGLE_CMD          0

// Application states
#define IDLE                      0
#define SEND_CMD                  1

// Application role
#define NONE                      0
#define SWITCH                    1
#define LIGHT                     2
#define APP_MODES                 2

/***********************************************************************************
* LOCAL VARIABLES
*/
static uint8 pTxData[APP_PAYLOAD_LENGTH];
static uint8 pRxData[APP_PAYLOAD_LENGTH];
static basicRfCfg_t basicRfConfig;

// Mode menu
static menuItem_t pMenuItems[] =
{
#ifdef ASSY_EXP4618_CC2420
  // Using Softbaugh 7-seg display
  " L S    ", SWITCH,
  " LIGHT  ", LIGHT
#else
  // SRF04EB and SRF05EB
  "Switch",   SWITCH,
  "Light",    LIGHT
#endif
};

static menu_t pMenu =
{
  pMenuItems,
  N_ITEMS(pMenuItems)
};


#ifdef SECURITY_CCM
// Security key
static uint8 key[]= {
    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
};
#endif

/***********************************************************************************
* LOCAL FUNCTIONS
*/
static void appLight();
static void appSwitch();
static uint8 appSelectMode(void);


/***********************************************************************************
* @fn          appLight
*
* @brief       Application code for light application. Puts MCU in endless
*              loop waiting for user input from joystick.
*
* @param       basicRfConfig - file scope variable. Basic RF configuration data
*              pRxData - file scope variable. Pointer to buffer for RX data
*
* @return      none
*/
static void appLight()
{
    halLcdWriteLine(HAL_LCD_LINE_1, "Light");
    halLcdWriteLine(HAL_LCD_LINE_2, "Ready");
#ifdef ASSY_EXP4618_CC2420
    halLcdWriteSymbol(HAL_LCD_SYMBOL_RX, 1);
#endif

    // Initialize BasicRF
    basicRfConfig.myAddr = LIGHT_ADDR;
    if(basicRfInit(&basicRfConfig)==FAILED) {
      HAL_ASSERT(FALSE);
    }
    basicRfReceiveOn();

    // Main loop
    while (TRUE) {
        while(!basicRfPacketIsReady());

        if(basicRfReceive(pRxData, APP_PAYLOAD_LENGTH, NULL)>0) {
            if(pRxData[0] == LIGHT_TOGGLE_CMD) {
                halLedToggle(1);
            }
        }
    }
}


/***********************************************************************************
* @fn          appSwitch
*
* @brief       Application code for switch application. Puts MCU in
*              endless loop to wait for commands from from switch
*
* @param       basicRfConfig - file scope variable. Basic RF configuration data
*              pTxData - file scope variable. Pointer to buffer for TX
*              payload
*              appState - file scope variable. Holds application state
*
* @return      none
*/
static void appSwitch()
{
    halLcdWriteLine(HAL_LCD_LINE_1, "Switch");
    halLcdWriteLine(HAL_LCD_LINE_2, "Joystick Push");
    halLcdWriteLine(HAL_LCD_LINE_3, "Send Command");
#ifdef ASSY_EXP4618_CC2420
    halLcdWriteSymbol(HAL_LCD_SYMBOL_TX, 1);
#endif

    pTxData[0] = LIGHT_TOGGLE_CMD;

    // Initialize BasicRF
    basicRfConfig.myAddr = SWITCH_ADDR;
    if(basicRfInit(&basicRfConfig)==FAILED) {
      HAL_ASSERT(FALSE);
    }

    // Keep Receiver off when not needed to save power
    basicRfReceiveOff();

    // Main loop
    while (TRUE) {
        if( halJoystickPushed() ) {

            basicRfSendPacket(LIGHT_ADDR, pTxData, APP_PAYLOAD_LENGTH);

            // Put MCU to sleep. It will wake up on joystick interrupt
            halIntOff();
            halMcuSetLowPowerMode(HAL_MCU_LPM_3); // Will turn on global
            // interrupt enable
            halIntOn();

        }
    }
}


/***********************************************************************************
* @fn          main
*
* @brief       This is the main entry of the "Light Switch" application.
*              After the application modes are chosen the switch can
*              send toggle commands to a light device.
*
* @param       basicRfConfig - file scope variable. Basic RF configuration
*              data
*              appState - file scope variable. Holds application state
*
* @return      none
*/
void main(void)
{
    uint8 appMode = NONE;

    // Config basicRF
    basicRfConfig.panId = PAN_ID;
    basicRfConfig.channel = RF_CHANNEL;
    basicRfConfig.ackRequest = TRUE;
#ifdef SECURITY_CCM
    basicRfConfig.securityKey = key;
#endif

    // Initalise board peripherals
    halBoardInit();
    halJoystickInit();

    // Initalise hal_rf
    if(halRfInit()==FAILED) {
      HAL_ASSERT(FALSE);
    }

    // Indicate that device is powered
    halLedSet(1);

    // Print Logo and splash screen on LCD
    utilPrintLogo("Light Switch");

    // Wait for user to press S1 to enter menu
    while (halButtonPushed()!=HAL_BUTTON_1);
    halMcuWaitMs(350);
    halLcdClear();

    // Set application role
    appMode = appSelectMode();
    halLcdClear();

    // Transmitter application
    if(appMode == SWITCH) {
        // No return from here
        appSwitch();
    }
    // Receiver application
    else if(appMode == LIGHT) {
        // No return from here
        appLight();
    }
    // Role is undefined. This code should not be reached
    HAL_ASSERT(FALSE);
}


/****************************************************************************************
* @fn          appSelectMode
*
* @brief       Select application mode
*
* @param       none
*
* @return      uint8 - Application mode chosen
*/
static uint8 appSelectMode(void)
{
    halLcdWriteLine(1, "Device Mode: ");

    return utilMenuSelect(&pMenu);
}

/****************************************************************************************
  Copyright 2007 Texas Instruments Incorporated. All rights reserved.

  IMPORTANT: Your use of this Software is limited to those specific rights
  granted under the terms of a software license agreement between the user
  who downloaded the software, his/her employer (which must be your employer)
  and Texas Instruments Incorporated (the "License").  You may not use this
  Software unless you agree to abide by the terms of the License. The License
  limits your use, and you acknowledge, that the Software may not be modified,
  copied or distributed unless embedded on a Texas Instruments microcontroller
  or used solely and exclusively in conjunction with a Texas Instruments radio
  frequency transceiver, which is integrated into your product.  Other than for
  the foregoing purpose, you may not use, reproduce, copy, prepare derivative
  works of, modify, distribute, perform, display or sell this Software and/or
  its documentation for any purpose.

  YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
  PROVIDED 揂S IS

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
伊人开心综合网| 乱一区二区av| 国产亚洲视频系列| 欧美日韩一二三| 成人黄色大片在线观看| 丝袜美腿亚洲色图| 亚洲精品一二三| 国产视频一区二区三区在线观看| 欧美区视频在线观看| av在线不卡网| 国产精品99久久久久久似苏梦涵 | 亚洲午夜免费视频| 日本一区二区三区在线不卡| 欧美一级精品在线| 欧美伊人久久久久久午夜久久久久| 成人激情小说网站| 国产一区二区中文字幕| 青娱乐精品在线视频| 亚洲午夜三级在线| 亚洲在线视频网站| 亚洲激情在线激情| 亚洲精品大片www| 亚洲婷婷综合久久一本伊一区 | 精品91自产拍在线观看一区| 欧美日韩精品是欧美日韩精品| 色婷婷av一区二区三区大白胸| av在线不卡电影| 99国产麻豆精品| eeuss鲁片一区二区三区| 国产成a人无v码亚洲福利| 国精产品一区一区三区mba视频| 日韩一区欧美二区| 日韩**一区毛片| 日韩av不卡在线观看| 日本不卡免费在线视频| 日韩av电影免费观看高清完整版在线观看 | 亚洲激情网站免费观看| 亚洲精品写真福利| 亚洲一区二区在线免费看| 一区二区三区中文字幕| 亚洲欧美aⅴ...| 亚洲制服欧美中文字幕中文字幕| 亚洲一区二区三区小说| 亚洲一级电影视频| 午夜精品成人在线| 青青草伊人久久| 九一九一国产精品| 国产一区二区三区电影在线观看| 国内成人自拍视频| 成人综合日日夜夜| 91视频xxxx| 欧美性猛片aaaaaaa做受| 这里只有精品视频在线观看| 欧美电影精品一区二区| 国产性做久久久久久| 亚洲欧美影音先锋| 亚洲一区视频在线| 美女久久久精品| 成人av影视在线观看| 一本久道久久综合中文字幕| 欧美日韩免费观看一区二区三区| 在线播放欧美女士性生活| 精品免费日韩av| 欧美激情中文字幕| 一区二区三区免费看视频| 舔着乳尖日韩一区| 国产夫妻精品视频| 在线国产亚洲欧美| 精品伦理精品一区| 国产精品久久精品日日| 亚洲国产aⅴ天堂久久| 久久精品72免费观看| gogo大胆日本视频一区| 777亚洲妇女| 亚洲国产精品高清| 五月天中文字幕一区二区| 国产乱码精品一区二区三区av| 一本一道久久a久久精品综合蜜臀| 678五月天丁香亚洲综合网| 欧美极品另类videosde| 午夜视频一区二区| 国产91丝袜在线18| 欧美欧美欧美欧美首页| 国产欧美一区二区三区网站| 亚洲一区二区三区自拍| 国产a级毛片一区| 欧美美女一区二区在线观看| 国产欧美综合色| 日韩国产欧美三级| 91丨porny丨首页| 久久综合成人精品亚洲另类欧美| 亚洲综合在线视频| 高清av一区二区| 欧美一区二区三区电影| 亚洲精品中文在线影院| 国产高清无密码一区二区三区| 欧美日韩另类一区| 亚洲色图丝袜美腿| 国产精一品亚洲二区在线视频| 欧美人牲a欧美精品| 亚洲少妇最新在线视频| 韩国v欧美v日本v亚洲v| 欧美日韩色综合| 亚洲欧洲中文日韩久久av乱码| 狠狠色狠狠色综合| 欧美片网站yy| 亚洲五月六月丁香激情| 91美女蜜桃在线| 中文字幕av资源一区| 老司机一区二区| 欧美精品视频www在线观看| 亚洲欧美色一区| 不卡的电影网站| 欧美激情综合五月色丁香小说| 国产综合一区二区| 日韩三级在线观看| 视频一区二区不卡| 欧美系列亚洲系列| 亚洲三级理论片| 91一区二区三区在线观看| 国产精品无圣光一区二区| 国产一区二区三区在线观看精品| 欧美一级日韩一级| 天天影视涩香欲综合网 | 欧美国产精品v| 国产大陆精品国产| 国产婷婷色一区二区三区四区 | 国产日韩亚洲欧美综合| 国产一区不卡精品| 26uuu久久综合| 国产成人一区二区精品非洲| 国产午夜精品一区二区三区嫩草| 精品一区二区三区影院在线午夜 | 欧美乱妇23p| 日韩和欧美一区二区| 日韩欧美激情四射| 精品在线免费视频| 久久午夜色播影院免费高清| 国产剧情av麻豆香蕉精品| 久久精品亚洲精品国产欧美kt∨| 国产麻豆9l精品三级站| 国产日本欧美一区二区| 白白色 亚洲乱淫| 亚洲伦理在线精品| 欧美人伦禁忌dvd放荡欲情| 日本在线不卡视频| 精品国产乱码久久久久久图片 | 亚洲男人的天堂av| 欧美在线色视频| 日韩经典中文字幕一区| 精品久久国产字幕高潮| 国产精品18久久久久久久久久久久 | 日韩欧美一区二区在线视频| 久久综合综合久久综合| 国产欧美一区二区三区在线看蜜臀| eeuss鲁片一区二区三区在线看 | 国产一区二区三区在线观看精品| 日本一区二区视频在线| 色综合天天综合网天天看片| 午夜精品视频一区| 精品国产成人在线影院| 成人动漫精品一区二区| 午夜影院在线观看欧美| 26uuu亚洲综合色| 99久久精品情趣| 日韩精品高清不卡| 欧美国产欧美亚州国产日韩mv天天看完整| 99r精品视频| 免费成人av在线播放| 国产精品超碰97尤物18| 欧美日韩精品一区视频| 国产一区二区三区免费看| 一区二区在线观看免费视频播放| 欧美一区二区三区思思人| 国产精品18久久久久久vr| 一二三区精品视频| 久久综合视频网| 欧美综合一区二区| 国产一区二区三区在线观看免费视频| 亚洲精品视频在线看| 精品福利av导航| 在线观看亚洲成人| 国产成人精品免费网站| 亚洲二区在线观看| 国产精品乱码一区二区三区软件| 欧美喷水一区二区| 99久久久久久| 国产中文字幕一区| 亚洲va韩国va欧美va| 中文字幕av一区二区三区高| 欧美一区二区三区播放老司机| 波多野结衣中文字幕一区| 免费久久99精品国产| 亚洲激情av在线| 久久精品亚洲精品国产欧美| 在线播放中文一区| 在线观看视频一区二区欧美日韩| 国产精品2024| 精品一区在线看| 日本成人在线视频网站|