環(huán)境:
主機(jī):WIN8
開發(fā)環(huán)境:MDK5.13
MCU:STM32F407IGH
源代碼:
drv_power.h
/*********************************************************************
*電源模塊驅(qū)動層頭文件
*(c)copyright2015,jdh
*AllRightReserved
*新建日期:2014/10/20byjdh
*修改時間:2015/3/2byjdh
**********************************************************************/
/*********************************************************************
功能說明:
可以控制VDD的供給,VDD供給MCU和LCD
硬件連接說明
電路標(biāo)號單片機(jī)引腳特殊功能
VDD_PWR_ENPI7
VBAT_DETPF3ADC3_IN9
VBAT_DET_GNDPF2
**********************************************************************/
#ifndef_DRV_POWER_H_
#define_DRV_POWER_H_
/*********************************************************************
*頭文件
**********************************************************************/
#include"stm32f4xx.h"
/*********************************************************************
*宏定義
**********************************************************************/
/*********************************************************************
*單片機(jī)AD參考電壓
*單位:mv
**********************************************************************/
#defineREF_AD3300
/*********************************************************************
*分壓系數(shù)
*分壓電阻為33K和62K
**********************************************************************/
#defineRATE_AD1.532
/*********************************************************************
*函數(shù)
**********************************************************************/
/*********************************************************************
*初始化電源模塊
**********************************************************************/
voiddrv_power_init(void);
/*********************************************************************
*電源控制
*參數(shù):state:1開機(jī),0:關(guān)機(jī)
**********************************************************************/
voiddrv_power_set(uint8_tstate);
/*********************************************************************
*電池adc檢測使能
*參數(shù):state:允許檢測,0:不允許檢測
**********************************************************************/
voiddrv_power_adc_set(uint8_tstate);
/*********************************************************************
*得到電池電壓
*返回:電池電壓,單位mv
**********************************************************************/
uint16_tdrv_power_get_voltage(void);
#endif
drv_power.c
*電源模塊驅(qū)動層文件
*(c)copyright2015,jdh
*AllRightReserved
*新建日期:2014/10/20byjdh
*修改日期:2015/1/27byjdh
**********************************************************************/
/*********************************************************************
*頭文件
**********************************************************************/
#include"drv_power.h"
/*********************************************************************
*靜態(tài)變量
**********************************************************************/
/*********************************************************************
*adc轉(zhuǎn)換結(jié)果存放地址
**********************************************************************/
#defineLEN_ADC_BUF10
static__IOuint16_tADC_Converted_Value[LEN_ADC_BUF]={0};
/*********************************************************************
*靜態(tài)函數(shù)
**********************************************************************/
/*********************************************************************
*初始io
**********************************************************************/
staticvoidinit_io(void);
/*********************************************************************
*初始ADC
**********************************************************************/
staticvoidinit_adc(void);
/*********************************************************************
*函數(shù)
**********************************************************************/
/*********************************************************************
* 初始化電源模塊