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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? hplatm128adcp.nc

?? tinyos-2.x.rar
?? NC
字號(hào):
/// $Id: HplAtm128AdcP.nc,v 1.1 2008/06/12 14:02:11 klueska Exp $
/*
 * Copyright (c) 2004-2005 Crossbow Technology, Inc.  All rights reserved.
 *
 * Permission to use, copy, modify, and distribute this software and its
 * documentation for any purpose, without fee, and without written agreement is
 * hereby granted, provided that the above copyright notice, the following
 * two paragraphs and the author appear in all copies of this software.
 * 
 * IN NO EVENT SHALL CROSSBOW TECHNOLOGY OR ANY OF ITS LICENSORS BE LIABLE TO 
 * ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL 
 * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
 * IF CROSSBOW OR ITS LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 
 * DAMAGE. 
 *
 * CROSSBOW TECHNOLOGY AND ITS LICENSORS SPECIFICALLY DISCLAIM ALL WARRANTIES,
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 
 * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS 
 * ON AN "AS IS" BASIS, AND NEITHER CROSSBOW NOR ANY LICENSOR HAS ANY 
 * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR 
 * MODIFICATIONS.
 */

#include "Atm128Adc.h"

/**
 * HPL for the Atmega128 A/D conversion susbsystem.
 *
 * @author Martin Turon <mturon@xbow.com>
 * @author Hu Siquan <husq@xbow.com>
 * @author David Gay
 */

module HplAtm128AdcP {
  provides interface HplAtm128Adc;
  uses interface McuPowerState;
  uses interface PlatformInterrupt;
}
implementation {
  //=== Direct read of HW registers. =================================
  async command Atm128Admux_t HplAtm128Adc.getAdmux() { 
    return *(Atm128Admux_t*)&ADMUX; 
  }
  async command Atm128Adcsra_t HplAtm128Adc.getAdcsra() { 
    return *(Atm128Adcsra_t*)&ADCSRA; 
  }
  async command uint16_t HplAtm128Adc.getValue() { 
    return ADC; 
  }

  DEFINE_UNION_CAST(Admux2int, Atm128Admux_t, uint8_t);
  DEFINE_UNION_CAST(Adcsra2int, Atm128Adcsra_t, uint8_t);

  //=== Direct write of HW registers. ================================
  async command void HplAtm128Adc.setAdmux( Atm128Admux_t x ) { 
    ADMUX = Admux2int(x); 
  }
  async command void HplAtm128Adc.setAdcsra( Atm128Adcsra_t x ) { 
    ADCSRA = Adcsra2int(x); 
  }

  async command void HplAtm128Adc.setPrescaler(uint8_t scale){
    Atm128Adcsra_t  current_val = call HplAtm128Adc.getAdcsra(); 
    current_val.adif = FALSE;
    current_val.adps = scale;
    call HplAtm128Adc.setAdcsra(current_val);
  }

  // Individual bit manipulation. These all clear any pending A/D interrupt.
  async command void HplAtm128Adc.enableAdc() {
    SET_BIT(ADCSRA, ADEN); 
    call McuPowerState.update();
  }
  async command void HplAtm128Adc.disableAdc() {
    CLR_BIT(ADCSRA, ADEN); 
    call McuPowerState.update();
  }
  async command void HplAtm128Adc.enableInterruption() { SET_BIT(ADCSRA, ADIE); }
  async command void HplAtm128Adc.disableInterruption() { CLR_BIT(ADCSRA, ADIE); }
  async command void HplAtm128Adc.setContinuous() { SET_BIT(ADCSRA, ADFR); }
  async command void HplAtm128Adc.setSingle() { CLR_BIT(ADCSRA, ADFR); }
  async command void HplAtm128Adc.resetInterrupt() { SET_BIT(ADCSRA, ADIF); }
  async command void HplAtm128Adc.startConversion() { SET_BIT(ADCSRA, ADSC); }


  /* A/D status checks */
  async command bool HplAtm128Adc.isEnabled()     {       
    return (call HplAtm128Adc.getAdcsra()).aden; 
  }

  async command bool HplAtm128Adc.isStarted()     {
    return (call HplAtm128Adc.getAdcsra()).adsc; 
  }
  
  async command bool HplAtm128Adc.isComplete()    {
    return (call HplAtm128Adc.getAdcsra()).adif; 
  }

  /* A/D interrupt handlers. Signals dataReady event with interrupts enabled */
  AVR_ATOMIC_HANDLER(SIG_ADC) {
    uint16_t data = call HplAtm128Adc.getValue();
    
    __nesc_enable_interrupt();
    signal HplAtm128Adc.dataReady(data);
    call PlatformInterrupt.postAmble();
  }

  default async event void HplAtm128Adc.dataReady(uint16_t done) { }

  async command bool HplAtm128Adc.cancel() { 
    /* This is tricky */
    atomic
      {
	Atm128Adcsra_t oldSr = call HplAtm128Adc.getAdcsra(), newSr;

	/* To cancel a conversion, first turn off ADEN, then turn off
	   ADSC. We also cancel any pending interrupt.
	   Finally we reenable the ADC.
	*/
	newSr = oldSr;
	newSr.aden = FALSE;
	newSr.adif = TRUE; /* This clears a pending interrupt... */
	newSr.adie = FALSE; /* We don't want to start sampling again at the
			       next sleep */
	call HplAtm128Adc.setAdcsra(newSr);
	newSr.adsc = FALSE;
	call HplAtm128Adc.setAdcsra(newSr);
	newSr.aden = TRUE;
	call HplAtm128Adc.setAdcsra(newSr);

	return oldSr.adif || oldSr.adsc;
      }
  }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品一区二区| 日韩国产在线观看| 日本一区二区久久| 26uuu成人网一区二区三区| 欧美一级二级三级乱码| 亚洲一区二区三区四区五区中文| **网站欧美大片在线观看| 亚洲欧美在线观看| 亚洲欧美另类小说| 一区二区高清免费观看影视大全| 亚洲三级久久久| 一区二区在线观看免费| 亚洲大型综合色站| 天堂在线亚洲视频| 久久精品国产99国产精品| 狠狠色丁香婷婷综合久久片| 国产夫妻精品视频| 成人aaaa免费全部观看| 色综合久久88色综合天天免费| 色噜噜狠狠色综合欧洲selulu| 欧美午夜免费电影| 欧美一级片免费看| 国产无一区二区| 亚洲视频免费观看| 午夜在线电影亚洲一区| 美女一区二区视频| 国产成人免费视频一区| 91网站视频在线观看| 欧美日韩精品福利| 久久综合久久鬼色中文字| 国产精品女主播在线观看| 亚洲精品va在线观看| 天天综合日日夜夜精品| 91精品婷婷国产综合久久| 精品国产一区二区三区久久久蜜月| 久久久久97国产精华液好用吗| 亚洲色图在线播放| 日本美女一区二区| 成人午夜看片网址| 欧美日韩一卡二卡三卡| 久久久欧美精品sm网站| 亚洲精品v日韩精品| 久久av资源网| 91麻豆成人久久精品二区三区| 666欧美在线视频| 国产亚洲成av人在线观看导航 | 欧美人牲a欧美精品| 欧美videos大乳护士334| 国产精品国产a| 日韩高清电影一区| www.欧美亚洲| 欧美一级理论片| 中文字幕一区日韩精品欧美| 五月天网站亚洲| 成人午夜av影视| 欧美一区二区三区在线看| 日韩一区欧美一区| 久久国产剧场电影| 在线亚洲欧美专区二区| 久久一区二区三区四区| 亚洲国产另类av| 高清在线观看日韩| 日韩欧美亚洲国产精品字幕久久久| 国产精品国产自产拍在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 91视视频在线观看入口直接观看www | 国产在线不卡视频| 一个色妞综合视频在线观看| 狠狠色丁香婷婷综合久久片| 欧美日韩夫妻久久| 中文字幕一区日韩精品欧美| 狠狠色丁香久久婷婷综合_中| 在线一区二区三区| 中文字幕av一区二区三区高 | 欧美日韩高清一区二区| 17c精品麻豆一区二区免费| 久久er精品视频| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 久久久久久久久久久久电影 | 国产在线播放一区三区四| 欧美日韩五月天| 亚洲人成影院在线观看| 高清不卡一区二区在线| 亚洲精品一区二区三区香蕉| 日韩高清不卡一区二区三区| 日本高清不卡在线观看| 成人欧美一区二区三区视频网页 | 99视频精品在线| 久久免费的精品国产v∧| 免费在线观看一区二区三区| 欧美人牲a欧美精品| 亚洲地区一二三色| 欧美一a一片一级一片| 一区二区三区四区在线| 91在线porny国产在线看| 国产精品久久久久久亚洲毛片| 国产精一区二区三区| 久久综合九色综合97婷婷女人| 日产国产欧美视频一区精品| 在线播放国产精品二区一二区四区| 亚洲激情av在线| 91丨porny丨首页| 亚洲免费观看高清完整版在线观看 | 国产精品福利av| 成人免费高清视频在线观看| 日本一区二区三区在线观看| 国产福利视频一区二区三区| 久久精品一区二区三区四区| 高清shemale亚洲人妖| 欧美激情一区二区在线| 成人精品免费看| 综合激情网...| 日本道在线观看一区二区| 亚洲午夜在线电影| 欧美一区二区三区啪啪| 久久99久久久久久久久久久| 久久丝袜美腿综合| 成人一级片在线观看| 亚洲色欲色欲www| 欧美系列一区二区| 免费看精品久久片| 久久综合狠狠综合久久激情 | 91同城在线观看| 亚洲综合丁香婷婷六月香| 欧美精品在线观看一区二区| 美脚の诱脚舐め脚责91| 久久精品亚洲精品国产欧美| 久久精品亚洲精品国产欧美| 成人性色生活片免费看爆迷你毛片| 国产精品久久久久婷婷二区次| 99精品1区2区| 亚洲成人一区二区| 精品国产亚洲在线| 成人午夜精品在线| 亚洲成人精品影院| 精品国产伦一区二区三区观看体验| 国产伦精一区二区三区| 亚洲欧美国产三级| 91精品国产91久久久久久一区二区| 国产在线播放一区三区四| 亚洲婷婷国产精品电影人久久| 欧美日韩激情一区| 国产尤物一区二区| 亚洲男人的天堂在线观看| 欧美一级生活片| www.性欧美| 日韩国产精品大片| 国产精品网曝门| 欧美嫩在线观看| 岛国av在线一区| 午夜电影网一区| 亚洲国产成人一区二区三区| 欧美性猛交xxxx黑人交| 国产精品99精品久久免费| 亚洲制服欧美中文字幕中文字幕| 精品久久久三级丝袜| 色综合 综合色| 麻豆精品一二三| 亚洲蜜臀av乱码久久精品蜜桃| 日韩一区二区三区视频| 97久久精品人人做人人爽| 免费观看久久久4p| 亚洲三级在线看| 精品国产一区二区三区忘忧草| 在线免费观看日本一区| 激情小说欧美图片| 亚洲成人一区二区| 中文字幕亚洲一区二区av在线| 欧美一区二区久久| 在线亚洲+欧美+日本专区| 国产福利精品一区| 久久精品国产一区二区三| 在线这里只有精品| 国产精品996| 免费看日韩a级影片| 亚洲一区在线免费观看| 亚洲国产精品精华液2区45| 日韩一级大片在线观看| 欧美在线短视频| 北岛玲一区二区三区四区| 国产一区二区三区四区五区入口| 亚洲成人第一页| 亚洲天堂a在线| 中文字幕av免费专区久久| 精品国产麻豆免费人成网站| 欧美高清dvd| 欧美撒尿777hd撒尿| 91年精品国产| 99这里只有精品| 懂色av中文一区二区三区 | 欧美日韩一区二区三区四区五区| 成人国产在线观看| 国产精品一级片| 国产尤物一区二区在线| 蜜臀va亚洲va欧美va天堂 | 波多野结衣亚洲| 风流少妇一区二区| 国产精品一区二区免费不卡| 韩国毛片一区二区三区| 紧缚捆绑精品一区二区|