stm32f4中通过dma采集adc
扫描二维码
随时随地手机看文章
环境:
主机:WIN8
开发环境:MDK5.13
MCU:STM32F407IGH
源代码:
drv_power.h
/*********************************************************************
*电源模块驱动层头文件
*(c)copyright2015,jdh
*AllRightReserved
*新建日期:2014/10/20byjdh
*修改时间:2015/3/2byjdh
**********************************************************************/
/*********************************************************************
功能说明:
可以控制VDD的供给,VDD供给MCU和LCD
硬件连接说明
电路标号单片机引脚特殊功能
VDD_PWR_ENPI7
VBAT_DETPF3ADC3_IN9
VBAT_DET_GNDPF2
**********************************************************************/
#ifndef_DRV_POWER_H_
#define_DRV_POWER_H_
/*********************************************************************
*头文件
**********************************************************************/
#include"stm32f4xx.h"
/*********************************************************************
*宏定义
**********************************************************************/
/*********************************************************************
*单片机AD参考电压
*单位:mv
**********************************************************************/
#defineREF_AD3300
/*********************************************************************
*分压系数
*分压电阻为33K和62K
**********************************************************************/
#defineRATE_AD1.532
/*********************************************************************
*函数
**********************************************************************/
/*********************************************************************
*初始化电源模块
**********************************************************************/
voiddrv_power_init(void);
/*********************************************************************
*电源控制
*参数:state:1开机,0:关机
**********************************************************************/
voiddrv_power_set(uint8_tstate);
/*********************************************************************
*电池adc检测使能
*参数:state:允许检测,0:不允许检测
**********************************************************************/
voiddrv_power_adc_set(uint8_tstate);
/*********************************************************************
*得到电池电压
*返回:电池电压,单位mv
**********************************************************************/
uint16_tdrv_power_get_voltage(void);
#endif
drv_power.c
*电源模块驱动层文件
*(c)copyright2015,jdh
*AllRightReserved
*新建日期:2014/10/20byjdh
*修改日期:2015/1/27byjdh
**********************************************************************/
/*********************************************************************
*头文件
**********************************************************************/
#include"drv_power.h"
/*********************************************************************
*静态变量
**********************************************************************/
/*********************************************************************
*adc转换结果存放地址
**********************************************************************/
#defineLEN_ADC_BUF10
static__IOuint16_tADC_Converted_Value[LEN_ADC_BUF]={0};
/*********************************************************************
*静态函数
**********************************************************************/
/*********************************************************************
*初始io
**********************************************************************/
staticvoidinit_io(void);
/*********************************************************************
*初始ADC
**********************************************************************/
staticvoidinit_adc(void);
/*********************************************************************
*函数
**********************************************************************/
/*********************************************************************
* 初始化电源模块