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

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

?? adc16.c

?? Kinetis_K60開源底層驅動開發包(20120328)
?? C
字號:
/*
 * File:		a16dc.c
 * Purpose:		Simple Driver or API for AdC16/PGA
 * This file contains the following two functions:
 *  1. ADC_Cal: calibrates the ADC
 *  2. ADC_Config_Alt: Simply configures an ADC per a structure
 *
 * Typical usage: Fill the structure with the ADC and PGA register contents 
 * needed for the ADC usage.

 * a) Call the ADC_Config_Alt function to configure an ADC, (ADC0 or ADC1)
 * b) Call the ADC_Cal function to calibrate that ADC
 * c) Call the ADC_Config_Alt function again to restore desired configuation
 *    after a calibration
 *
 *
 */

#include "common.h"
#include "adc16.h"




/******************************************************************************
Function 1. Name	AUTO CAL ROUTINE   

Parameters		ADC module pointer points to adc0 or adc1 register map 
                         base address.
Returns			Zero indicates success.
Notes         		Calibrates the ADC16. Required to meet specifications 
                        after reset and before a conversion is initiated.
******************************************************************************/
uint8 ADC_Cal(ADC_MemMapPtr adcmap)
{

  unsigned short cal_var;
  
  ADC_SC2_REG(adcmap) &=  ~ADC_SC2_ADTRG_MASK ; // Enable Software Conversion Trigger for Calibration Process    - ADC0_SC2 = ADC0_SC2 | ADC_SC2_ADTRGW(0);   
  ADC_SC3_REG(adcmap) &= ( ~ADC_SC3_ADCO_MASK & ~ADC_SC3_AVGS_MASK ); // set single conversion, clear avgs bitfield for next writing
  ADC_SC3_REG(adcmap) |= ( ADC_SC3_AVGE_MASK | ADC_SC3_AVGS(AVGS_32) );  // Turn averaging ON and set at max value ( 32 )
  
  
  ADC_SC3_REG(adcmap) |= ADC_SC3_CAL_MASK ;      // Start CAL
  while ( (ADC_SC1_REG(adcmap,A) & ADC_SC1_COCO_MASK ) == COCO_NOT ); // Wait calibration end
  	
  if ((ADC_SC3_REG(adcmap)& ADC_SC3_CALF_MASK) == CALF_FAIL )
  {  
   return(1);    // Check for Calibration fail error and return 
  }
  // Calculate plus-side calibration
  cal_var = 0x00;
  
  cal_var =  ADC_CLP0_REG(adcmap); 
  cal_var += ADC_CLP1_REG(adcmap);
  cal_var += ADC_CLP2_REG(adcmap);
  cal_var += ADC_CLP3_REG(adcmap);
  cal_var += ADC_CLP4_REG(adcmap);
  cal_var += ADC_CLPS_REG(adcmap);

  cal_var = cal_var/2;
  cal_var |= 0x8000; // Set MSB

  ADC_PG_REG(adcmap) = ADC_PG_PG(cal_var);
 

  // Calculate minus-side calibration
  cal_var = 0x00;

  cal_var =  ADC_CLM0_REG(adcmap); 
  cal_var += ADC_CLM1_REG(adcmap);
  cal_var += ADC_CLM2_REG(adcmap);
  cal_var += ADC_CLM3_REG(adcmap);
  cal_var += ADC_CLM4_REG(adcmap);
  cal_var += ADC_CLMS_REG(adcmap);

  cal_var = cal_var/2;

  cal_var |= 0x8000; // Set MSB

  ADC_MG_REG(adcmap) = ADC_MG_MG(cal_var); 
  
  ADC_SC3_REG(adcmap) &= ~ADC_SC3_CAL_MASK ; /* Clear CAL bit */

  return(0);
}




/******************************************************************************
Function 2 Name 	ADC_Config_Alt 
Parameters		the register values to be set in the adc in a structure
Returns			NONE
Notes         		Configures ADC0 or ADC1 depending on adcmap
                        Prior to calling this function populate the structure
                        elements with the desired ADC configuration.
******************************************************************************/


void ADC_Config_Alt(ADC_MemMapPtr adcmap, tADC_ConfigPtr ADC_CfgPtr)
{
 ADC_CFG1_REG(adcmap) = ADC_CfgPtr->CONFIG1;
 ADC_CFG2_REG(adcmap) = ADC_CfgPtr->CONFIG2;
 ADC_CV1_REG(adcmap)  = ADC_CfgPtr->COMPARE1; 
 ADC_CV2_REG(adcmap)  = ADC_CfgPtr->COMPARE2;
 ADC_SC2_REG(adcmap)  = ADC_CfgPtr->STATUS2;
 ADC_SC3_REG(adcmap)  = ADC_CfgPtr->STATUS3;
 ADC_PGA_REG(adcmap)  = ADC_CfgPtr->PGA;
 ADC_SC1_REG(adcmap,A)= ADC_CfgPtr->STATUS1A;       
 ADC_SC1_REG(adcmap,B)= ADC_CfgPtr->STATUS1B;
}


void ADC_Read_Cal(ADC_MemMapPtr adcmap, tADC_Cal_Blk *blk)
{
  blk->OFS  = ADC_OFS_REG(adcmap);
  blk->PG   = ADC_PG_REG(adcmap); 
  blk->MG   = ADC_MG_REG(adcmap); 
  blk->CLPD = ADC_CLPD_REG(adcmap); 
  blk->CLPS = ADC_CLPS_REG(adcmap); 
  blk->CLP4 = ADC_CLP4_REG(adcmap);
  blk->CLP3 = ADC_CLP3_REG(adcmap); 
  blk->CLP2 = ADC_CLP2_REG(adcmap); 
  blk->CLP1 = ADC_CLP1_REG(adcmap);
  blk->CLP0 = ADC_CLP0_REG(adcmap);
  blk->CLMD = ADC_CLMD_REG(adcmap); 
  blk->CLMS = ADC_CLMS_REG(adcmap); 
  blk->CLM4 = ADC_CLM4_REG(adcmap);
  blk->CLM3 = ADC_CLM3_REG(adcmap); 
  blk->CLM2 = ADC_CLM2_REG(adcmap); 
  blk->CLM1 = ADC_CLM1_REG(adcmap);
  blk->CLM0 = ADC_CLM0_REG(adcmap);
  
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合成人网| 精品黑人一区二区三区久久| 久久草av在线| 亚洲精选免费视频| 久久一日本道色综合| 欧美在线色视频| 久久99精品国产91久久来源| 亚洲精品第1页| 中文天堂在线一区| www一区二区| 亚洲精品一区二区三区影院| 99在线精品一区二区三区| 青青草国产成人99久久| 亚洲国产精品久久不卡毛片| 亚洲欧美激情视频在线观看一区二区三区 | 免费人成精品欧美精品| 亚洲图片另类小说| 欧美成人免费网站| 91精品国产一区二区三区蜜臀 | 久久久久久久网| 日韩欧美国产一区二区三区 | 国产成人午夜精品5599| 亚洲视频一二区| 欧美高清在线一区| 国产精品丝袜久久久久久app| 欧美精品少妇一区二区三区| 91搞黄在线观看| 色妹子一区二区| 91色乱码一区二区三区| 欧美性受极品xxxx喷水| 欧美三级韩国三级日本一级| 国产精品一区二区久久不卡| 国产一区二区三区香蕉| 粉嫩欧美一区二区三区高清影视| 国产成人综合在线| 成人福利视频在线看| 99re亚洲国产精品| 欧美午夜精品一区二区三区| 在线播放日韩导航| 精品国产91洋老外米糕| 亚洲国产成人一区二区三区| 久久久青草青青国产亚洲免观| 中文字幕精品在线不卡| 亚洲日本青草视频在线怡红院| 亚洲精品高清在线观看| 日本不卡不码高清免费观看| 黄色资源网久久资源365| 国产一区二区三区四区在线观看| 丁香婷婷综合五月| 99国产精品久久久久| 欧美午夜免费电影| 久久婷婷国产综合精品青草| 精品国产青草久久久久福利| 亚洲欧洲日韩在线| 一区二区三区四区在线免费观看| 天天色 色综合| 高清在线不卡av| 欧美一a一片一级一片| 精品女同一区二区| 亚洲欧洲综合另类| 午夜精品久久久久久久99樱桃| 国内欧美视频一区二区| 色噜噜狠狠一区二区三区果冻| 精品人在线二区三区| 伊人性伊人情综合网| 久久国产精品免费| 在线一区二区视频| 日本一区二区三区视频视频| 五月天中文字幕一区二区| 高清不卡一区二区| 精品视频在线看| 欧美电影免费观看完整版| 一区二区三区av电影| 国产伦理精品不卡| 欧美一级二级三级蜜桃| 亚洲免费电影在线| 国产aⅴ精品一区二区三区色成熟| 欧美久久久久久蜜桃| 日韩理论片网站| 国产福利电影一区二区三区| 色婷婷久久久亚洲一区二区三区| 欧美日韩亚洲综合| 亚洲情趣在线观看| 成人国产一区二区三区精品| 精品久久久久久无| 日本成人在线一区| 欧美日韩成人高清| 亚洲免费观看高清完整版在线| 国产麻豆视频一区| 欧美电影免费观看高清完整版在线 | 久久91精品国产91久久小草| 91免费视频观看| 国产精品色在线| 国产成人啪免费观看软件| 欧美一区二区三区免费大片 | 国产精品网站在线| 国模套图日韩精品一区二区| 欧美高清dvd| 中文字幕亚洲在| 青娱乐精品视频| 日韩视频一区二区| 日韩**一区毛片| 在线电影欧美成精品| 一区二区三区av电影| 欧美日韩久久久久久| 午夜电影网一区| 99精品一区二区三区| 亚洲三级小视频| 国产精品影视网| 久久精品一二三| 国产盗摄视频一区二区三区| 亚洲国产成人私人影院tom| 99久久亚洲一区二区三区青草| 国产精品久久久久国产精品日日| 成人免费毛片app| 国产精品福利电影一区二区三区四区| 国模一区二区三区白浆| 国产欧美1区2区3区| 97超碰欧美中文字幕| 亚洲一二三级电影| 欧美电视剧免费全集观看| 国产黄人亚洲片| 久久精品日韩一区二区三区| 久久99精品久久久久久国产越南| 久久综合久久综合亚洲| 成人黄色在线网站| 天堂在线一区二区| www激情久久| 在线一区二区三区| 久久99深爱久久99精品| 亚洲图片另类小说| 日韩免费福利电影在线观看| 高清不卡一区二区| 日日夜夜精品视频免费| 久久久久99精品国产片| 一本色道久久综合狠狠躁的推荐| 日韩精品久久理论片| 久久久五月婷婷| 欧美日韩一区二区在线观看视频 | 日本女优在线视频一区二区| 久久久99久久精品欧美| 欧美综合天天夜夜久久| 久久精品久久99精品久久| 欧美激情综合在线| 欧美疯狂做受xxxx富婆| 成人一区二区视频| 奇米精品一区二区三区四区| 亚洲免费毛片网站| 一区二区三区中文免费| 亚洲黄色免费电影| 亚洲麻豆国产自偷在线| 中文字幕一区二区三区在线观看| 久久久久国产一区二区三区四区| 精品国产欧美一区二区| 久久久综合精品| 久久毛片高清国产| 国产日韩一级二级三级| 欧美激情一区不卡| 亚洲欧洲日韩av| 夜夜亚洲天天久久| 亚洲一区欧美一区| 日韩不卡一区二区三区| 日本少妇一区二区| 亚洲福利一二三区| 日韩国产高清在线| 国内精品久久久久影院一蜜桃| 国产黑丝在线一区二区三区| av在线播放一区二区三区| 91网址在线看| 欧美日韩亚洲综合一区| 精品国产区一区| 亚洲视频一二区| 日韩av不卡在线观看| 国产乱人伦精品一区二区在线观看 | 亚洲精品高清在线观看| 天堂久久一区二区三区| 精品无码三级在线观看视频| 成人精品国产一区二区4080 | 日韩综合一区二区| 精品在线视频一区| 成人动漫在线一区| 欧美中文一区二区三区| 日韩精品在线看片z| 国产精品久久久久影院色老大| 亚洲欧洲三级电影| 日韩成人一区二区| 国产成人午夜高潮毛片| 欧美日韩中文一区| 国产喷白浆一区二区三区| 亚洲精品视频自拍| 久久不见久久见免费视频1| 91看片淫黄大片一级在线观看| 欧美色视频在线| 国产精品护士白丝一区av| 五月婷婷综合在线| www.在线成人| 2017欧美狠狠色| 日产精品久久久久久久性色| 成人v精品蜜桃久久一区| 成人免费看视频|