2024-12-01 13:49:43 +08:00
|
|
|
|
/*
|
|
|
|
|
* @Author : stark1898y 1658608470@qq.com
|
|
|
|
|
* @Date : 2024-09-13 13:05:36
|
|
|
|
|
* @LastEditors : stark1898y 1658608470@qq.com
|
|
|
|
|
* @LastEditTime : 2024-09-13 13:05:37
|
|
|
|
|
* @FilePath : \JT-DT-YD4N02A_RTT_MRS\bsp\inc\bsp_adc.h
|
|
|
|
|
* @Description :
|
|
|
|
|
*
|
|
|
|
|
* Copyright (c) 2024 by yzy, All Rights Reserved.
|
|
|
|
|
*/
|
|
|
|
|
#ifndef __BSP_ADC_H__
|
|
|
|
|
#define __BSP_ADC_H__
|
|
|
|
|
|
|
|
|
|
#include "board.h"
|
|
|
|
|
|
|
|
|
|
//#define TEST_BSP_ADC
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ADC要采集的通道个数
|
|
|
|
|
#define NUM_OF_CHANNEL (2U)
|
|
|
|
|
// ADC要采集的次数
|
|
|
|
|
#define ADC_TIMES (30U)
|
|
|
|
|
#define ADC_BUFFER_SIZE (NUM_OF_CHANNEL * ADC_TIMES)
|
|
|
|
|
|
|
|
|
|
// ADC GPIO 宏定义
|
|
|
|
|
#define USED_ADC_GPIO_PORT GPIOA
|
|
|
|
|
#define USED_ADC_GPIO_CLK_ENABLE() RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE)
|
|
|
|
|
|
|
|
|
|
// ADC 序号宏定义
|
|
|
|
|
#define USED_ADC ADC1
|
|
|
|
|
#define USED_ADC_CLK_ENABLE() RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
|
|
|
|
|
|
|
|
|
|
// ADC DMA 通道宏定义,这里我们使用DMA传输
|
|
|
|
|
#define USED_ADC_DR_ADDRESS ((uint32_t)&USED_ADC->RDATAR)
|
|
|
|
|
#define USED_ADC_DMA_CLK_ENABLE() RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
|
|
|
|
|
#define USED_ADC_DMA_STREAM DMA1_Channel1
|
|
|
|
|
|
|
|
|
|
/***************************12V输入的检测,用来实现掉电检测****************************/
|
|
|
|
|
#define VIN_ADC_GPIO_PIN GPIO_Pin_0
|
|
|
|
|
#define VIN_ADC_CHANNEL ADC_Channel_0
|
|
|
|
|
|
2024-12-04 10:31:57 +08:00
|
|
|
|
#define GAS_ADC_GPIO_PIN GPIO_Pin_5
|
|
|
|
|
#define GAS_ADC_GPIO_PORT GPIOC
|
|
|
|
|
#define GAS_ADC_CHANNEL ADC_Channel_15
|
2024-12-01 13:49:43 +08:00
|
|
|
|
typedef enum
|
|
|
|
|
{
|
|
|
|
|
kVinAdc = 0U,
|
|
|
|
|
kGasAdc,
|
|
|
|
|
} TeAdcIndex;
|
|
|
|
|
|
|
|
|
|
// 存储采集的数据
|
|
|
|
|
extern uint16_t adc_buffer[ADC_BUFFER_SIZE];
|
|
|
|
|
|
|
|
|
|
int BSP_ADC_Init(void);
|
|
|
|
|
|
|
|
|
|
float Get_ADC_Average(TeAdcIndex index);
|
|
|
|
|
float Get_ADC_Voltage(TeAdcIndex index);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif // !__BSP_ADC_H__
|