资源简介
并型模式 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
相关资源
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- elantech触控板驱动程序 v13.6.11 官方最
- 联想y470无线网卡驱动 for 32位64位
- 松下plc FP-XH的驱动
- IMX385驱动代码.zip
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- 组态王驱动开发包3.0.0.7(中文)
- stm32f030 IAP Demo(原创)
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- CASS9.1最新S4数据及驱动+ET199数据及驱
- 带有死区延时的H桥直流电机驱动电路
- USB转串口驱动,FT232R驱动程序,最新
- STM32基于rt_thread操作系统的SDHC卡文件
- 德卡D3读卡器测试程序驱动文件
- WinCE下CP210x的驱动程序
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- ubuntu9.10 可加载内核模块和字符设备驱
- MCGS触摸屏西门子s7_1200驱动
- stm32官方例程
评论
共有 条评论