BLE_TYQ_BJQ_CH32V303/bsp/inc/bsp_adc.h

69 lines
2.1 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* @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)
// GAS GPIO 宏定义
#define USED_GAS_GPIO_PORT GPIOC
#define USED_GAS_GPIO_CLK_ENABLE() RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, 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
// #define GAS_ADC_GPIO_PIN GPIO_Pin_6
// #define GAS_ADC_CHANNEL ADC_Channel_6
/************************** MQ传感器的检测 ******************************************/
#define GAS_ADC_GPIO_PIN GPIO_Pin_5
#define GAS_ADC_CHANNEL ADC_Channel_15
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__