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

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

?? adc.c

?? reference about wireless design which is helpful to everyone
?? C
字號:
/******************************************************************************
*                                                                             *
*        **********                                                           *
*       ************                                                          *
*      ***        ***                                                         *
*     ***    ++    ***                                                        *
*     ***   +  +   ***                      CHIPCON                           *
*     ***   +                                                                 *
*     ***   +  +   ***                                                        *
*     ***    ++    ***                                                        *
*      ***        ***                                                         *
*       ************                                                          *
*        **********                                                           *
*                                                                             *
*******************************************************************************

Filename:     adc.c
Target:       cc2510
Author:       KJA
Revised:      20/6-2006
Revision:     1.0

Description:
    This application shows how to use the AD-converter (single sample mode).

    When the potmeter at the Evaluation Board is turned, the output voltage is
    sampled, converted and written to LCD. The blinking speed of the green and
    yellow LEDs is adjusted according to the voltage.
    The direction of the joystick is shown on the LCD.

******************************************************************************/
#include "app_ex.h"

// Prototypes
void initAdc(void);
void adc_main(void);
void updateVoltageLCD(INT8 potVoltage, INT8 adc_value);
void updateJoystickDirectionLCD(JOYSTICK_DIRECTION direction);
void updateCounter(INT8 delay);
INT8 scaleValue(INT8 adc_value);


/******************************************************************************
* @fn  initAdc
*
* @brief
*      Initializes components for use with the ADC application example (e.g.
*      LEDs, PotMeter, Joystick).
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
void initAdc(void)
{
   initLcd();

   SET_MAIN_CLOCK_SOURCE(CRYSTAL);

   //init LEDs
   INIT_GLED();
   INIT_YLED();

   INIT_POT();
   INIT_JOYSTICK();
}


/******************************************************************************
* @fn  adc_main
*
* @brief
*      Main function of the ADC application example.
*
* Parameters:
*
* @param  void
*
* @return void
*
******************************************************************************/
#ifdef COMPLETE_APPLICATION
void adc_main(void){
#else
void main(void){
#endif
   JOYSTICK_DIRECTION joystickDirection = CENTRED;
   INT8 adc_value;
   UINT8 potVoltage = 0;
   BOOL updateLCD = TRUE;

   initAdc();

   while( !stopApplication() ){
     
      adc_value = getPotValue();

      if (potVoltage != scaleValue(adc_value)){
         //potVoltage changed since last sample
         potVoltage = scaleValue(adc_value);
         updateLCD = TRUE;
      }

      if (joystickDirection != getJoystickDirection()){
         //joystickDirection change since last sample
         joystickDirection = getJoystickDirection();
         updateLCD = TRUE;
      }

      if (updateLCD){
         updateVoltageLCD(potVoltage, adc_value);
         updateJoystickDirectionLCD(joystickDirection);
         updateLCD = FALSE;
      }
      updateCounter(adc_value);
   }

   LED1 = LED3 = LED_OFF;
   return;
}


/******************************************************************************
* @fn  updateCounter
*
* @brief
*      Function for updating counting speed for binary counter
*
* Parameters:
*
* @param  INT8  delay
*         New counting delay
*
* @return void
*
******************************************************************************/
void updateCounter(INT8 delay)
{
   static UINT8 counter = 0;
   UINT16 i = 0;

   i = ((delay > 0) ? 0x7F - delay : 0x7F);
   halWait( i );

   counter++;

   SET_LED_MASK( (BYTE)counter );
}


/******************************************************************************
* @fn  scaleValue
*
* @brief
*      Function for scaling ADC value according to current VDD
*
* Parameters:
*
* @param  INT8  adc_value
*         Sampled ADC value
*
* @return INT8
*         Scaled value (output voltage)
*
******************************************************************************/
#define VDD 33
// return 10 times sampled voltage
INT8 scaleValue(INT8 adc_value)
{
   //0x0000 = 0V and 0x0F = 3.3V
   float v;

   adc_value = (adc_value > 0 ? adc_value : 0);
   v = ((float)adc_value / (float)0x7F);
   v *= VDD;
   return (INT8)v;
}


/******************************************************************************
* @fn  updateVoltageLCD
*
* @brief
*      Function for printing PotVoltage and sampled ADC value to LCD.
*
* Parameters:
*
* @param  INT8  potVoltage
*         Potmeter voltage
*
*         INT8 adc_value
*         Sampled ADC value
*
* @return void
*
******************************************************************************/
void updateVoltageLCD(INT8 potVoltage, INT8 adc_value)
{
   char s[16];
   // potVoltage is 10 times correct voltage
   // print dc value on LCD
   sprintf(s, (char*)"%d.%d Volt (%d)",  ((INT16)(potVoltage / 10)), ((INT16)(potVoltage % 10)), adc_value);
   lcdUpdate((char*)"Voltage is:", s);
}


/******************************************************************************
* @fn  updateJoystickDirectionLCD
*
* @brief
*      Function for printing new Joystick direction to LCD.
*
* Parameters:
*
* @param  JOYSTICK_DIRECTION  direction
*         Current joystick direction
*
* @return void
*
******************************************************************************/
void updateJoystickDirectionLCD(JOYSTICK_DIRECTION direction)
{
   char d;
   switch (direction){
   case DOWN:
      d = ARROW_DOWN;
      break;
   case UP:
      d = ARROW_UP;
      break;
   case LEFT:
      d = ARROW_LEFT;
      break;
   case RIGHT:
      d = ARROW_RIGHT;
      break;
   case CENTRED:
      d = '*';
      break;
   }
   lcdUpdateChar(LINE1, 15, d);
}


/******************************************************************************
* @fn  adc_init
*
* @brief
*      Initializes ADC application example.
*
* Parameters:
*
* @param  APPLICATION  *a
*         Main application
*
* @return void
*
******************************************************************************/
#ifdef COMPLETE_APPLICATION
void adc_init(APPLICATION *a)
{
   a->menuText = (char*)"ADC";
   a->description = (char*)"Use joys./ pot";
   a->main_func = adc_main;
}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡一二三区黄网| 国产精品你懂的在线| 91丨九色丨国产丨porny| 国产原创一区二区三区| 日韩和欧美一区二区| 亚洲va国产va欧美va观看| 国产精品久久三| 国产精品欧美精品| 欧美精品一区在线观看| xfplay精品久久| 久久久久久久久久电影| 国产女人18水真多18精品一级做| 日韩精品一区二区三区四区| 精品久久久久久久久久久久久久久久久| 欧美精品日日鲁夜夜添| 7777精品伊人久久久大香线蕉最新版 | 成人动漫一区二区在线| 国产91精品一区二区| 国产一区在线看| 美女视频黄久久| 国内久久精品视频| 成人性视频免费网站| 91老师国产黑色丝袜在线| 欧美日韩在线三级| 日韩欧美一区二区在线视频| 精品国产免费人成在线观看| 国产亚洲午夜高清国产拍精品| 日本一区二区不卡视频| 成人欧美一区二区三区黑人麻豆 | 中文字幕二三区不卡| 亚洲视频狠狠干| 亚洲高清一区二区三区| 蜜桃精品视频在线| 国产超碰在线一区| 欧美影视一区二区三区| 精品免费国产二区三区| 国产精品成人免费| 日韩精品高清不卡| 国产精品一级二级三级| 91老师片黄在线观看| 欧美mv日韩mv| 亚洲黄色在线视频| 国产在线视视频有精品| 欧美天天综合网| 精品成人一区二区三区四区| 亚洲色图欧洲色图| 久久精品国产亚洲a| 99久久国产综合精品色伊| 欧美日韩第一区日日骚| 欧美国产亚洲另类动漫| 秋霞午夜鲁丝一区二区老狼| 97精品视频在线观看自产线路二| 日韩欧美国产麻豆| 亚洲一区二区三区在线播放| 国产成人精品1024| 日韩欧美久久久| 亚洲大片精品永久免费| 成人精品小蝌蚪| 精品国产乱码久久久久久久久| 一区二区三区**美女毛片| 粉嫩aⅴ一区二区三区四区| 91麻豆swag| 中文字幕免费不卡| 老司机精品视频一区二区三区| 欧美亚洲丝袜传媒另类| 亚洲欧洲综合另类在线| 国产成人亚洲精品青草天美| 91精品啪在线观看国产60岁| 一二三区精品视频| av在线综合网| 国产女人水真多18毛片18精品视频| 日本人妖一区二区| 欧美日本一区二区在线观看| 一区二区三区在线视频观看58 | 99精品视频在线播放观看| 精品成人私密视频| 韩国一区二区三区| 精品国产乱码久久久久久图片 | 日本一区二区三区在线观看| 国产伦精品一区二区三区视频青涩 | 国产一区二区在线影院| 日韩欧美高清在线| 免费观看成人av| 日韩精品一区二区三区中文不卡 | 成人毛片视频在线观看| 国产欧美一区二区三区在线看蜜臀| 久久精品国产在热久久| 91精品国产乱码久久蜜臀| 首页欧美精品中文字幕| 51久久夜色精品国产麻豆| 日韩电影在线观看电影| 欧美一区二区三区免费在线看| 亚洲国产wwwccc36天堂| 欧美人与禽zozo性伦| 秋霞午夜av一区二区三区 | 麻豆精品在线视频| 久久婷婷久久一区二区三区| 国产永久精品大片wwwapp| 国产欧美精品一区二区色综合朱莉| 国产福利视频一区二区三区| 亚洲国产精品成人综合| 色婷婷综合久色| 亚洲超丰满肉感bbw| 日韩欧美黄色影院| 高清在线不卡av| 亚洲精品视频在线看| 欧美伦理视频网站| 韩国在线一区二区| 亚洲美女屁股眼交| 91精品国产高清一区二区三区| 精品系列免费在线观看| 国产精品夫妻自拍| 欧美高清精品3d| 国产成人精品一区二区三区网站观看| 中文字幕在线一区免费| 欧美日韩国产高清一区| 国内精品在线播放| 一区二区三区在线免费播放| 日韩欧美一级特黄在线播放| av在线不卡观看免费观看| 日本不卡视频在线| 国产精品久久久久久亚洲伦 | 精品在线观看视频| 亚洲色图色小说| 久久综合久久鬼色| 欧美亚洲一区三区| 成人a区在线观看| 毛片不卡一区二区| 洋洋成人永久网站入口| 国产女人aaa级久久久级| 91精品国产aⅴ一区二区| 色综合久久精品| 成人午夜激情在线| 精品在线一区二区| 亚洲va欧美va人人爽| 亚洲天天做日日做天天谢日日欢| 欧美mv日韩mv国产网站app| 在线精品亚洲一区二区不卡| 国产suv精品一区二区三区 | 久久综合色播五月| 欧美日韩精品一二三区| 色综合激情五月| 懂色av一区二区三区蜜臀| 玖玖九九国产精品| 日韩精品高清不卡| 亚洲国产精品视频| 亚洲一区二区av在线| 亚洲激情图片小说视频| 中文字幕一区不卡| 国产日韩欧美亚洲| 国产三级欧美三级日产三级99 | 国内成+人亚洲+欧美+综合在线| 亚洲成人av福利| 亚洲一区二区三区视频在线播放| 综合电影一区二区三区| 中文字幕国产一区| 国产精品久久精品日日| 国产精品久久久久影院色老大| 国产肉丝袜一区二区| 国产欧美精品区一区二区三区| 国产精品污www在线观看| 国产欧美精品一区二区三区四区 | 不卡高清视频专区| 不卡视频在线看| 91丨porny丨首页| 色乱码一区二区三区88| 欧洲精品在线观看| 欧美精选一区二区| 日韩视频一区二区| 精品三级av在线| 久久久精品影视| 国产精品传媒入口麻豆| 亚洲欧美一区二区三区国产精品 | 久久久久久久性| 国产欧美精品一区aⅴ影院| 国产精品久久久久9999吃药| 1区2区3区精品视频| 夜夜亚洲天天久久| 麻豆精品在线观看| 成人av片在线观看| 欧美色电影在线| 337p粉嫩大胆噜噜噜噜噜91av| 国产欧美日本一区视频| 一区二区三区中文在线观看| 日本 国产 欧美色综合| 国产精品99久久久久久有的能看| 91热门视频在线观看| 91精品国产综合久久精品| 国产丝袜美腿一区二区三区| 一区二区三区.www| 精品综合免费视频观看| 91免费国产在线| 欧美大片免费久久精品三p| 国产精品人成在线观看免费 | 欧美一区二区久久久| 国产欧美精品一区aⅴ影院| 一区二区三区四区精品在线视频| 三级在线观看一区二区 | 亚洲资源在线观看| 国产在线播放一区二区三区|