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

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

?? adc.c

?? 基于zigbee芯片cc2430的應用程序開發:點對點通信
?? C
字號:
/******************************************************************************
*                                                                             *
*        **********                                                           *
*       ************                                                          *
*      ***        ***                                                         *
*     ***    ++    ***                                                        *
*     ***   +  +   ***                      CHIPCON                           *
*     ***   +                                                                 *
*     ***   +  +   ***                                                        *
*     ***    ++    ***                                                        *
*      ***        ***                                                         *
*       ************                                                          *
*        **********                                                           *
*                                                                             *
*******************************************************************************

Filename:     adc.c
Target:       cc2430
Author:       KJA
Revised:      16/12-2005
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_ENABLE_CHANNEL(7);
      ADC_SINGLE_CONVERSION(ADC_REF_AVDD | ADC_8_BIT | ADC_AIN7);
      ADC_SAMPLE_SINGLE();

      while(!ADC_SAMPLE_READY());

      ADC_DISABLE_CHANNEL(7);

      adc_value = ADCH;

      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视频| 久久精品国产精品亚洲红杏| 不卡在线视频中文字幕| 中文字幕乱码久久午夜不卡| 国产精品白丝jk白祙喷水网站 | 日本伦理一区二区| 亚洲精选一二三| 在线观看亚洲专区| 日韩精彩视频在线观看| 欧美一卡二卡在线观看| 国产最新精品免费| 中文字幕一区二区三区av| 91碰在线视频| 视频一区欧美精品| 欧美mv日韩mv亚洲| 成人激情电影免费在线观看| 亚洲国产精品久久久久秋霞影院| 欧美日韩卡一卡二| 国产综合色产在线精品| 国产精品国产自产拍高清av王其 | 激情亚洲综合在线| 久久久www免费人成精品| 93久久精品日日躁夜夜躁欧美| 一区二区免费在线| 精品国产免费人成电影在线观看四季| 国产精品18久久久久久vr| 中文字幕亚洲成人| 制服丝袜在线91| 成人成人成人在线视频| 香蕉久久一区二区不卡无毒影院| 欧美精品一区二区三区蜜桃视频| 不卡一区在线观看| 日韩av一区二| 中文字幕中文在线不卡住| 欧美日韩国产欧美日美国产精品| 国产一区二区伦理| 亚洲123区在线观看| 国产欧美视频一区二区| 欧美日韩不卡一区| 成人av综合一区| 麻豆国产精品官网| 夜夜爽夜夜爽精品视频| 久久精品在这里| 欧美一级在线免费| 91浏览器打开| 国产一区二区三区不卡在线观看 | 不卡的av在线| 久久99国内精品| 亚洲二区在线观看| ●精品国产综合乱码久久久久| 日韩欧美专区在线| 一本大道久久a久久精品综合| 韩国中文字幕2020精品| 日韩高清在线观看| 亚洲午夜免费视频| **网站欧美大片在线观看| 日韩欧美国产系列| 欧美日韩国产天堂| 欧美亚洲高清一区| 色悠悠久久综合| 不卡的av电影| 国产91在线|亚洲| 国产裸体歌舞团一区二区| 久热成人在线视频| 毛片不卡一区二区| 美国毛片一区二区三区| 日韩av一区二区三区| 午夜视频久久久久久| 亚洲自拍另类综合| 亚洲午夜在线观看视频在线| 一区二区三区四区av| 国产精品嫩草久久久久| 国产亚洲短视频| 久久精品视频一区| 欧美经典一区二区| 国产精品毛片a∨一区二区三区| 久久久久久一级片| 国产欧美日本一区视频| 国产欧美一区二区精品久导航| 久久久91精品国产一区二区三区| 久久久久免费观看| 国产精品毛片大码女人| 亚洲欧洲性图库| 亚洲免费在线看| 亚洲成人黄色影院| 欧美aaa在线| 经典一区二区三区| 成人午夜短视频| 色综合久久综合网97色综合| 日本韩国欧美在线| 欧美精品第一页| 精品国产a毛片| 欧美国产欧美综合| 亚洲美腿欧美偷拍| 日韩va欧美va亚洲va久久| 久久99久久久久久久久久久| 久久99国产精品久久| 国产成人h网站| 色爱区综合激月婷婷| 欧美另类变人与禽xxxxx| 精品国产91洋老外米糕| 国产精品国产三级国产专播品爱网| 亚洲男人的天堂在线aⅴ视频| 亚洲v中文字幕| 国产精品1区2区| 色欧美乱欧美15图片| 在线播放中文一区| 国产日韩精品一区二区三区在线| 亚洲欧美成人一区二区三区| 日本一道高清亚洲日美韩| 国产成人免费在线观看不卡| 91原创在线视频| 日韩欧美国产一二三区| 成人欧美一区二区三区小说| 日韩国产欧美在线观看| 成人综合在线网站| 欧美丰满少妇xxxxx高潮对白| 久久精品一区四区| 亚洲一二三区在线观看| 国产福利91精品一区| 欧洲av一区二区嗯嗯嗯啊| 欧美va亚洲va在线观看蝴蝶网| 久久九九影视网| 亚洲gay无套男同| 成人午夜av影视| 欧美一级欧美一级在线播放| 国产精品嫩草影院com| 日本中文在线一区| 91免费观看在线| 国产色综合一区| 日韩成人精品在线| 91老师片黄在线观看| 欧美精品一区二区三区在线 | 在线不卡的av| 国产精品乱码一区二三区小蝌蚪| 天天操天天综合网| av一区二区三区在线| 日韩一二在线观看| 亚洲午夜视频在线| 色悠久久久久综合欧美99| 久久久不卡网国产精品二区| 日本视频免费一区| 欧美亚洲免费在线一区| 亚洲日本在线天堂| 国产成人精品免费网站| 精品动漫一区二区三区在线观看| 亚洲综合丁香婷婷六月香| av电影天堂一区二区在线| 26uuu精品一区二区| 五月婷婷综合激情| 欧美日韩一区二区三区视频| 国产精品二三区| 国产69精品久久99不卡| 久久综合久久综合久久| 久久精品国产亚洲高清剧情介绍| 欧美日韩精品系列| 亚洲成人动漫一区| 欧美少妇xxx| 亚洲第一在线综合网站| 91丨porny丨户外露出| 亚洲国产高清在线观看视频| 国产成人免费在线视频| 久久久777精品电影网影网| 国内成人精品2018免费看| 精品日韩av一区二区| 麻豆国产欧美一区二区三区| 欧美一区二区三级| 奇米影视在线99精品| 日韩欧美一区中文| 蜜桃视频第一区免费观看| 欧美一卡在线观看| 久久99精品久久只有精品| 欧美一区二区三区在线| 精品一区二区三区在线播放视频| 日韩欧美三级在线| 精品一区免费av| 26uuu国产日韩综合| 国产成人在线观看| 亚洲视频狠狠干| 欧美性生活大片视频| 视频一区中文字幕国产| 日韩一级在线观看| 韩国女主播一区| 亚洲国产成人午夜在线一区| 99精品国产99久久久久久白柏 | 国产校园另类小说区| 福利电影一区二区| 伊人性伊人情综合网| 欧美二区乱c少妇| 国模少妇一区二区三区| 国产精品视频一区二区三区不卡| 91亚洲精品久久久蜜桃网站 | 日韩一区二区在线观看视频播放| 美国精品在线观看| 国产精品女人毛片| 欧美日韩精品免费| 国产乱码精品一区二区三区av| 国产欧美精品日韩区二区麻豆天美| 99久久精品国产麻豆演员表| 亚洲福利一区二区三区|