📄 adc.c
字号:
#include "config.h"
#include <stdio.h>
/**********************************************************************************/
//
/**********************************************************************************/
void InitAdcFunc(void) {
PTDDD = 0x00; // set port d as inputs for push button switch and accelerometer inputs
PTDPE = 0x00; // enable port d pullups on D2 and D3 for push button switch operation
APCTL1 = 0x03; // Disable IO control for ADPC8
AD1SC1 = 0x22; // Set the ADCO bit so continuous conversions are enabled
// Select AD8 as the input channel
//ADC1CFG =0x08;
ADC1CFG =0xFB;
}
/**********************************************************************************/
//
/**********************************************************************************/
unsigned short Adc0TransFunc(void){
uint8 i;
uint16 AdcMax,AdcMin,AdcSum,AdcResult,Adc_temp;
AdcMax=0;
AdcMin=~0;
AdcSum = 0;
Adc_temp = 0;
APCTL1 = 0x01; // Disable IO control for ADPC8
AD1SC1 = 0x20; // Set the ADCO bit so continuous conversions are enabled
// Select AD8 as the input channel
for(i=0;i<100;i++)
{
while (AD1SC1_COCO == 0); // Wait for a conversion to be completed
Adc_temp =AD1R;
if(Adc_temp>AdcMax)
{
AdcMax=Adc_temp;
}
if(Adc_temp<AdcMin)
{
AdcMin=Adc_temp;
}
AdcSum+=Adc_temp;
}
AdcResult=(AdcSum-AdcMax-AdcMin)/(100-2);
return(AdcResult);
}
/**********************************************************************************/
//
/**********************************************************************************/
unsigned short Adc1TransFunc(void){
uint8 i;
uint16 AdcMax,AdcMin,AdcSum,AdcResult,Adc_temp;
AdcMax=0;
AdcMin=~0;
AdcSum = 0;
Adc_temp = 0;
APCTL1 = 0x02; // Disable IO control for ADPC8
AD1SC1 = 0x21; // Set the ADCO bit so continuous conversions are enabled
// Select AD8 as the input channel
for(i=0;i<100;i++)
{
while (AD1SC1_COCO == 0); // Wait for a conversion to be completed
Adc_temp =AD1R;
if(Adc_temp>AdcMax)
{
AdcMax=Adc_temp;
}
if(Adc_temp<AdcMin)
{
AdcMin=Adc_temp;
}
AdcSum+=Adc_temp;
}
AdcResult=(AdcSum-AdcMax-AdcMin)/(100-2);
return(AdcResult);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -