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

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

?? menu.c

?? 2500-SPI通用程序
?? C
字號:
/*******************************************************************************************************
 *                                                                                                     *
 *        **********                                                                                   *
 *       ************                                                                                  *
 *      ***        ***                                                                                 *
 *      ***   +++   ***                                                                                *
 *      ***   + +   ***     This file contains all functions related to menu handeling in the          *
 *      ***   +             Link1 example                                                              *
 *      ***   + +   ***                                                                                *
 *      ***   +++   ***     Menu.c                                                                     *
 *      ***        ***                                                                                 *
 *       ************                                                                                  *
 *        **********                                                                                   *
 *                                                                                                     *
 *******************************************************************************************************
 * Compiler:                Keil C51 V7.50                                                             *
 * Target platform:         Chipcon CCxxx0 (Silabs F320)                                               *
 * Author:                  SNA                                                                        *
 *******************************************************************************************************
 * Revision history:     See end of file                                                               *
 *******************************************************************************************************/
#include <Chipcon\srf04\regssrf04.h>
#include <Chipcon\srf04\halsrf04.h>
#include <Chipcon\srf04\ebsrf04.h>
#include <Link1.h>




//-------------------------------------------------------------------------------------------------------
// Global variables
MENU_DATA xdata menuData = {
    10,                     // Packet length
    100,                    // Number of packets
    WHITENING_DISABLED,
    TX
};

MENU_ITEM code menuTable[] = {
  //{   menuName,               value,                      min,    max     }
    {   "Set pkt. length",      &menuData.packetLength,     10,     250     },
    {   "Number of packets",    &menuData.numberOfPackets,  100,    1000    },
    {   "Whitening",            &menuData.whitening,        0,      1       },
    {   "Radio Mode",           &menuData.radioMode,        0,      1       },
    {   "Start",                NULL,                       0,      0       }
};

//Variable to keep track of the current menu entry (can have a value between 0 and 5)
UINT8 index = 0; 

const UINT8 menuDepth = sizeof(menuTable) / sizeof(MENU_ITEM);

// Byte array used by the intToAscii(UINT16 value) function
UINT8 xdata asciiString[6];
//-------------------------------------------------------------------------------------------------------




//-------------------------------------------------------------------------------------------------------
//  void parseMenu(UINT8 joystickPosition) 
//
//  DESCRIPTION:
//      This function allows the user to set different parameters by using the joystick to navigate
//      through a menu. The function is called every time the joystick position is changed. 
//
//          |                     Menu Entries        |   Values (currentMenuEntry.pValue)
//         |||                    --------------------------------------------------------
//        |||||   index = 0       Packet Length       |   10 , 30, 50, 70, ...., 230, 250
// Joystick |     index = 1       Number of Packets   |   100, 200, 300, ......, 900, 1000
// up/down  |     index = 2       Whitening           |   Enabled, Disabled
//          |     index = 3       Radio Mode          |   Rx, Tx
//        |||||   index = 4       Start               |   NULL
//         |||                    --------------------------------------------------------
//          |                                               |                          |
//                                                         ||    Joystick left/right   ||
//                                                        |||--------------------------|||
//                                                         ||                          ||
//                                                          |                          |
//-------------------------------------------------------------------------------------------------------
void parseMenu(UINT8 joystickPosition) {
    MENU_ITEM xdata currentMenuEntry;

    currentMenuEntry = menuTable[index];

    switch (joystickPosition) {

        case JOYSTICK_UP:

            // Change Menu Item
            if (index > 0)
                index--;
            break;

        case JOYSTICK_DOWN:

            // Change Menu Item
            if (index < (menuDepth - 1))
                index++;
            break;

        case JOYSTICK_LEFT:

            // Decrease value of the current manu item unless value already has reached its minimum
            if (*(currentMenuEntry.pValue) > currentMenuEntry.min) {
                if (index == PACKET_LENGTH)
                    (*(currentMenuEntry.pValue)) -= 20;
                else if (index == NUMBER_OF_PACKETS)
                    (*(currentMenuEntry.pValue)) -= 100;
                else
                    (*(currentMenuEntry.pValue))--;
            }
            break;

        case JOYSTICK_RIGHT:

            // Increase value of the current manu item unless value already has reached its maximum
            if (*(currentMenuEntry.pValue) < currentMenuEntry.max) {
                if (index == PACKET_LENGTH)
                    (*(currentMenuEntry.pValue)) += 20;
                else if (index == NUMBER_OF_PACKETS)
                    (*(currentMenuEntry.pValue)) += 100;
                else
                    (*(currentMenuEntry.pValue))++;
            }
            break;

        default:
            break;
    }
    handleAndDisplayMenu();
} //parseMenu




//-------------------------------------------------------------------------------------------------------
//  void handleAndDisplayMenu(void) 
//
//  DESCRIPTION:
//      This function is called every time there has been a change in the joystick position while in the
//      SETUP state. The function display the proper text on the LCD display depending on the current
//      menu entry. In one case (current menu entry = WHITENING) this function also updates 
//      configuration registers based on menu settings (enable/disable WHITENING affects the PKTCTRL0 
//      register). The function is also called once before the infinite loop in the main function.
//-------------------------------------------------------------------------------------------------------
void handleAndDisplayMenu(void) {
    MENU_ITEM xdata currentMenuEntry;

    currentMenuEntry = menuTable[index];

    switch (index) {
    
        case WHITENING:
            if (menuData.whitening == WHITENING_ENABLED) {
                halSpiWriteReg(CCxxx0_PKTCTRL0, halSpiReadReg(CCxxx0_PKTCTRL0) | 0x40);
                ebLcdUpdate(currentMenuEntry.menuName, "Enabled");
                SET_RLED(LED_ON);
            } else {
                halSpiWriteReg(CCxxx0_PKTCTRL0, halSpiReadReg(CCxxx0_PKTCTRL0) & 0xBF);
                ebLcdUpdate(currentMenuEntry.menuName, "Disabled");
                SET_RLED(LED_OFF);
            }
            break;

        case RADIO_MODE:
            if (menuData.radioMode == RX)
                ebLcdUpdate(currentMenuEntry.menuName, "Rx");
            else
                ebLcdUpdate(currentMenuEntry.menuName, "Tx");
            break;

        case START:
            ebLcdUpdate("Press S1", "to start");
            break;

        default:    // PACKET_LENGTH or NUMMBER_OF_PACKETS
            intToAscii((*(currentMenuEntry.pValue)));
            ebLcdUpdate(currentMenuEntry.menuName, asciiString);
            break;
    }
} //handleAndDisplayMenu




/******************************************************************************************************
 * Revision history:                                                                                  *
 *
 * $Log: Menu.c,v $
 * Revision 1.3  2006/11/14 13:36:53  a0190596
 * Removed FEC option
 *
 * Revision 1.2  2005/06/14 11:08:24  sna
 * no message
 *
 * Revision 1.1  2005/04/20 12:42:00  sna
 * Initial version in CVS
 *
 *
 *
 ******************************************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久97超碰国产精品超碰| 五月婷婷综合网| 日韩一区二区麻豆国产| 成人一区二区视频| 麻豆视频一区二区| 中文字幕在线观看不卡视频| 欧美成人在线直播| 精品视频在线免费观看| 99国产精品99久久久久久| 看片的网站亚洲| 亚洲一区二区黄色| 最新不卡av在线| 久久久久久久综合色一本| 欧美夫妻性生活| 欧美视频在线一区二区三区| 99久久精品国产麻豆演员表| 国产精品一区不卡| 六月丁香综合在线视频| 日韩精品一二三区| 亚洲福利视频导航| 亚洲黄色在线视频| 自拍偷拍国产精品| 中文字幕在线观看一区| 亚洲国产精品成人综合 | 国产精品一区二区三区乱码 | 成人激情午夜影院| 国产在线精品一区二区 | 欧美性猛片xxxx免费看久爱| 不卡视频一二三| 成人av免费网站| 成a人片国产精品| 成人不卡免费av| 豆国产96在线|亚洲| 高清beeg欧美| 福利一区二区在线| 国产不卡视频一区二区三区| 风间由美中文字幕在线看视频国产欧美| 久久se精品一区二区| 精品综合久久久久久8888| 免费成人在线观看| 狠狠色狠狠色综合| 国产一区三区三区| 国产乱码精品一区二区三区五月婷| 久久不见久久见免费视频1| 久久精品国产精品青草| 国内精品伊人久久久久av一坑| 精品一区二区三区视频在线观看| 久久不见久久见中文字幕免费| 久久精品99国产精品日本| 国产在线不卡视频| 国产99精品国产| 9i在线看片成人免费| 色一情一伦一子一伦一区| 欧美网站一区二区| 欧美酷刑日本凌虐凌虐| 日韩视频在线观看一区二区| 国产亚洲视频系列| 国产精品无码永久免费888| 综合色中文字幕| 亚洲国产精品久久艾草纯爱| 青青草国产精品亚洲专区无| 韩国v欧美v日本v亚洲v| 国产成人在线网站| 99国产精品久久久久| 欧美中文一区二区三区| 91精品黄色片免费大全| 久久综合99re88久久爱| 国产精品久久久久四虎| 亚洲一区二区五区| 精品午夜一区二区三区在线观看| 国产suv一区二区三区88区| 91在线视频播放地址| 欧美电影一区二区三区| 精品国产91乱码一区二区三区| 一区视频在线播放| 欧洲色大大久久| 欧美日韩成人激情| 久久久久久久久久久99999| 中文字幕一区二区三区蜜月| 三级久久三级久久久| 国产伦精品一区二区三区免费 | 亚洲免费色视频| 琪琪一区二区三区| 99精品视频在线观看| 6080午夜不卡| 自拍偷拍亚洲综合| 久久精品国产77777蜜臀| 色综合色狠狠综合色| 精品国产乱码久久久久久闺蜜| 亚洲桃色在线一区| 九九九久久久精品| 欧美日韩综合在线| 日本一区二区三级电影在线观看| 亚洲国产一区二区在线播放| 成人性生交大片免费看在线播放 | 91福利国产成人精品照片| 337p日本欧洲亚洲大胆色噜噜| 亚洲自拍偷拍网站| 高清不卡在线观看av| 日韩一区二区三区免费观看| 中文字幕一区二区三区在线不卡 | 欧美经典一区二区三区| 亚洲午夜国产一区99re久久| 国产福利一区在线观看| 欧美日本视频在线| 亚洲欧美激情视频在线观看一区二区三区 | 在线观看成人免费视频| 国产亚洲短视频| 久久精品国产秦先生| 欧美日韩一区二区三区免费看| 欧美国产一区二区在线观看 | 久久99精品国产.久久久久久| 色综合色综合色综合| 国产精品少妇自拍| 精品一区二区在线播放| 在线播放中文一区| 亚洲一二三四久久| 成人午夜av在线| 久久精品欧美一区二区三区麻豆| 美女脱光内衣内裤视频久久影院| 欧美日韩成人在线| 亚洲国产精品人人做人人爽| 色美美综合视频| 亚洲精品日日夜夜| 91亚洲永久精品| 国产精品电影院| 成人一级片网址| 国产日韩欧美精品综合| 国产曰批免费观看久久久| 日韩欧美精品在线视频| 日本不卡一区二区三区高清视频| 欧美日韩精品是欧美日韩精品| 亚洲国产日韩精品| 欧美四级电影网| 亚洲成av人片在线观看无码| 欧美美女一区二区| 午夜精品久久久久久久久久久| 欧美日韩三级在线| 日日嗨av一区二区三区四区| 制服丝袜在线91| 青椒成人免费视频| 精品久久久网站| 国产高清在线观看免费不卡| 国产精品视频在线看| 91伊人久久大香线蕉| 亚洲欧美日韩在线| 欧美日韩国产系列| 日本欧美大码aⅴ在线播放| 欧美一区二区成人6969| 国产一区二区剧情av在线| 久久久久久久一区| 播五月开心婷婷综合| 亚洲人一二三区| 欧美午夜理伦三级在线观看| 日本在线不卡视频一二三区| 精品三级在线看| 成人激情小说乱人伦| 一区二区三区国产精品| 欧美一区二区在线播放| 国产精品一区二区免费不卡| 中文字幕在线观看一区二区| 欧美午夜电影网| 精品一区二区成人精品| 中文字幕va一区二区三区| 在线免费亚洲电影| 麻豆一区二区在线| 一区在线中文字幕| 欧美日本在线视频| 国产一区 二区 三区一级| 亚洲免费在线看| 日韩小视频在线观看专区| 丁香天五香天堂综合| 亚洲一区免费视频| 国产亚洲一区二区三区| 在线亚洲免费视频| 精品一区二区三区在线播放 | 欧美性受xxxx| 精品亚洲成a人在线观看 | 九九热在线视频观看这里只有精品| 欧美激情中文字幕一区二区| 欧美亚洲综合久久| 极品美女销魂一区二区三区 | 国产福利精品一区二区| 亚洲午夜一区二区三区| 久久影音资源网| 欧美午夜精品免费| 丁香桃色午夜亚洲一区二区三区| 亚洲大尺度视频在线观看| 欧美α欧美αv大片| av不卡在线播放| 国内精品视频一区二区三区八戒| 一区二区在线电影| 国产清纯在线一区二区www| 欧美日韩高清一区二区| www.久久久久久久久| 精品一区二区三区免费观看| 亚洲午夜精品网| 中文字幕一区二区三区在线播放 | 国产精品毛片高清在线完整版| 欧美浪妇xxxx高跟鞋交|