/*************** 深圳市赛亿科技开发有限公司 ********************
* 文件名 : adc
* 描述 :多通道AD采集(源文件)
* 实验平台 :STM8S105开发板
* 库版本 :V1.0
* 作者 :hcr
* QQ :630054913
* 修改时间 :2014-9-20
*******************************************************************************/
#include "adc.h"
u16 AdcData_Buff[10]; //AD采集缓存
u16 AdcValue_Channel1; //通道1值
u16 AdcValue_Channel2; //通道2值
u16 AdcValue_Channel3; //通道3值
float Adc_V1; //通道1值电压值
float Adc_V2; //通道2值电压值
float Adc_V3; //通道3值电压值
/**************************************************************************
* 函数名:Adc_Task(void)
* 描述 :AD不通通道选择
* 输入 :无
* 输出 :无
* 返回 :无
* 调用 :10ms调用
*************************************************************************/
void Adc_Task(void)
{
static u8 Adc_Channel = 1;
static u8 Adc_Timer = 0;
static u16 Adc_GetValue;
switch(Adc_Channel)//通道选择
{
case 1: //通道1
Adc_GetValue = ADC1_GetConversionValue(); //获取ADC转换数
AdcData_Buff[Adc_Timer]=Adc_GetValue; //保存采样值
if(Adc_Timer8)
{
Adc_Timer = 0; //复位
Temp_Choose(); //冒泡法求中间值
AdcValue_Channel1=AdcData_Buff[5]; //取中间值
Adc_V1 = (3.28*AdcValue_Channel1)/1023; //算出实际电压
AdcData_Clean(); //清除缓存数据
Adc_Channel = 2; //另一通道
AdcChannel_Start(ADC1_CHANNEL_2); //ADC,通道2启动
}
break;
case 2: //通道2
1