/******************************************************************************* * File Name : NTC.c * Description : * Created on : 2019Äê7ÔÂ25ÈÕ * Author : www.hido-studio.com *******************************************************************************/ /******************************************************************************* * Include Files * *******************************************************************************/ #include "ADC.h" #include "stm32l0xx_hal.h" /******************************************************************************* * Macro * *******************************************************************************/ #define ADC_VALUE_CNT 1000 /******************************************************************************* * 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[0][0], 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; }