• 大小: 6KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: 其他
  • 标签: AD7606  驱动  stm32  

资源简介

并型模式 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


评论

共有 条评论