/*******************************************************************************
|
* File Name : NTC.c
|
* Description :
|
* Created on : 2019Äê7ÔÂ25ÈÕ
|
* Author : www.hido-studio.com
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Include Files *
|
*******************************************************************************/
|
#include "ADC_hal.h"
|
#include "stm32f4xx_hal.h"
|
|
/*******************************************************************************
|
* Macro *
|
*******************************************************************************/
|
#define ADC_VALUE_CNT 100
|
|
/*******************************************************************************
|
* Type Definition *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Local Variable *
|
*******************************************************************************/
|
static HIDO_UINT16 l_aau16ADCValue[ADC_VALUE_CNT][ADC_CH_LAST];
|
static ADC_HandleTypeDef *l_pstADC;
|
|
|
/*******************************************************************************
|
* Local Function Declaration *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Local Function *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Global Function *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Function Name :
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : www.hido-studio.com
|
* Modified Date: : 2019Äê7ÔÂ11ÈÕ
|
*******************************************************************************/
|
void ADC_Register(HIDO_VOID *_pADC)
|
{
|
l_pstADC = (ADC_HandleTypeDef *)_pADC;
|
}
|
|
/*******************************************************************************
|
* Function Name :
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : www.hido-studio.com
|
* Modified Date: : 2019Äê7ÔÂ12ÈÕ
|
*******************************************************************************/
|
void ADC_Init(void)
|
{
|
HAL_ADC_Start_DMA(l_pstADC, (HIDO_UINT32*) l_aau16ADCValue, ADC_VALUE_CNT * ADC_CH_LAST);
|
}
|
|
/*******************************************************************************
|
* Function Name :
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : www.hido-studio.com
|
* Modified Date: : 2019Äê7ÔÂ11ÈÕ
|
*******************************************************************************/
|
HIDO_UINT32 ADC_GetValue(E_ADC_CH _eADCCh)
|
{
|
HIDO_UINT32 i = 0;
|
HIDO_UINT32 u32Total = 0;
|
|
if (_eADCCh >= ADC_CH_LAST)
|
{
|
return 0;
|
}
|
|
/* ¼ÆËãÆ½¾ùÖµ */
|
for (i = 0; i < ADC_VALUE_CNT; i++)
|
{
|
u32Total += l_aau16ADCValue[i][_eADCCh];
|
}
|
|
return u32Total / ADC_VALUE_CNT;
|
}
|