资源简介
并型模式 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
相关资源
- Win7 64位 旗舰版 安装CodeWarrior5.1使用的
- 基于STM32的倾斜仪程序具体设计在博客
- STM32F103C8T6-ADC例程
- STM32F103驱动DS18B20程序
- 精锐IV加密锁驱动64位elite4
- ADS1256 基于 RT-Thread 4.0.2 版本驱动程序
- GT911、GT928、GT9147的驱动程序
- STM32 硬件IIC读取BH1750
- STM32控制LED灯
- mpu6050驱动基于mega16
- STM32CubeF4固件包STM32Cube_FW_F4_V1.22.0
- STM32库函数代码自动生成器V1.2破解版
- Qt与stm32通信绘制波形
- INA226使用教程.docx
- STM32HAL库驱动SPILCD代码
- STM32F103RBT6系统原理图
- 使用STM32控制无源蜂鸣器发声播放音乐
- ST LIS3DH STM32 驱动参考代码
- linux 添加字符设备驱动程序及测试程
- 加速度QMA6981 驱动
- LINUX下的MODBUS-RTU驱动程序
- STM32的AD采集信号,并发送到串口
- STM32串口连续接收一帧数据
- NVIDIA 显卡驱动for Windows server 2012R2
- 全网首发,ESXi670-202010001合成RealTek网
- Keil.STM32F4xx_DFP.2.5.0.pack
- Agilent 34410A Driver
- NVIDIA显卡2080ti for windows server 2012R2驱动
- EC20开发资料,含源码
- 基于stm32智能门锁系统.rar
评论
共有 条评论