資源簡介
并型模式 FSMC stm32 AD7606 驅動 代碼

代碼片段和文件信息
#include“AD7606.h“
#include?“led.h“
#include?“delay.h“
/*?設置過采樣的GPIO:?PH9?PH10?PH11?*/
#define?OS0_1() GPIOH->BSRRL?=?GPIO_Pin_9
#define?OS0_0() GPIOH->BSRRH?=?GPIO_Pin_9
#define?OS1_1() GPIOH->BSRRL?=?GPIO_Pin_10
#define?OS1_0() GPIOH->BSRRH?=?GPIO_Pin_10
#define?OS2_1() GPIOH->BSRRL?=?GPIO_Pin_11
#define?OS2_0() GPIOH->BSRRH?=?GPIO_Pin_11
/*?啟動AD轉換的GPIO?:?PH12*/
#define?CONVST_1() GPIOH->BSRRL?=?GPIO_Pin_12
#define?CONVST_0() GPIOH->BSRRH?=?GPIO_Pin_12
/*?設置輸入量程的GPIO?:??*/?//低電平正負5V;高電平正負10V
#define?RANGE_0() GPIOB->BSRRH?=?GPIO_Pin_14
#define?RANGE_1() GPIOB->BSRRL?=?GPIO_Pin_14
/*?AD7606復位口線?:?PB12??*/
#define?RESET_1() GPIOB->BSRRL?=?GPIO_Pin_12
#define?RESET_0() GPIOB->BSRRH?=?GPIO_Pin_12
/*?AD7606待機模式輸入?:?PB15???*/
#define?STBY_1() GPIOB->BSRRL?=?GPIO_Pin_15
#define?STBY_0() GPIOB->BSRRH?=?GPIO_Pin_15
/*參考電壓源選擇*/
#define?REF_IN() GPIOB->BSRRL?=?GPIO_Pin_13
#define?REF_OUT() GPIOB->BSRRH?=?GPIO_Pin_13
/*?AD7606?FSMC總線地址,只能讀,無需寫?*/
//PG12_FSMC_NE4??U15
#define?AD7606_U15_RESULT() *(__IO?int16_t?*)0x6C000000
//PG9_FSMC_NE2??U14
#define?AD7606_U14_RESULT() *(__IO?int16_t?*)0x64000000
extern?AD7606_CONFIG_T?AD7606_CONFIG;
void?AD7606_CtrlLinesConfig(void);
void?AD7606_FSMCConfig(void);
void?AD7606_SetOS(uint8_t?_AD_OS);
void?AD7606_SetInputRange(uint8_t?_AD_Range);
void?AD7606_Reset(void);
void?AD7606_SetSampleFreq(uint32_t?_ulFreq);
void?AD7606_ISR_U14(void);
void?AD7606_ISR_U15(void);
void?AD7606_ReadAdc_U14(void);
void?AD7606_ReadAdc_U15(void);
void?AD7606_Init(void);
void?AD7606_DataSave_U14(uint16_t?OffsetGROUPSEL_E?group);
void?AD7606_DataSave_U15(uint16_t?OffsetGROUPSEL_E?group);
void?AD7606_Init(void)
{
// AD7606_CtrlLinesConfig();
AD7606_SetOS(0);
// AD7606_SetInputRange(1); /*?0表示輸入量程為正負5V?1表示正負10V?*/
??REF_OUT();
/*?------------------------------------------------------------------
*?為了提高?AD7606/AD7607?在電源上升時間較長條件下的抗擾性,?在?AD7606/AD7607?的引腳電源建立之后,?應先將其
*?置于完全關斷模式,?然后切換到正常模式。要?將?AD7606/AD7607?置?于?完?全關?斷?模?式,?應?在?AVCC?和
*?VDRIVE?電源建立之后將?STBY?和?RANGE?引腳設為低電平當?STBY?和?RANGE?引?腳在上電之后均為低電平或被拉低時,?
*?AD7606/AD7607?即處于完全關斷模式。要將?AD7606/AD7607?置于正常模式,?對于?±10?V?范圍,?應
*?將?STBY?和?RANGE?引腳拉高
*?-----------------------------------------------------------------*/
STBY_0();
RANGE_0();
delay_us(100);
STBY_1();
RANGE_1();
AD7606_Reset();
??
CONVST_1(); /*?啟動轉換的GPIO平時設置為高?*/
AD7606_SetSampleFreq(ADSampleFrq);??//AD采樣頻率
}
/*
*********************************************************************************************************
* 函?數?名:?AD7606_CtrlLinesConfig
* 功能說明:?配置LCD控制口線,FSMC管腳設置為復用功能
* 形????參:無
* 返?回?值:?無
*********************************************************************************************************
*/
/*
??PD0/FSMC_D2
PD1/FSMC_D3
PD4/FSMC_NOE ---?讀控制信號,OE?=?Output?Enable?,?N?表示低有效
PD5/FSMC_NWE ---?寫控制信號,AD7606?只有讀,無寫信號
PD8/FSMC_D13
PD9/FSMC_D14
PD10/FSMC_D15
PD14/FSMC_D0
PD15/FSMC_D1
PE4/FSMC_A20
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1060??2015-12-25?13:36??AD7606.h
?????文件??????25978??2016-03-21?18:27??AD7606.c
-----------?---------??----------?-----??----
????????????????27038????????????????????2
評論
共有 條評論