-
大小: 10KB文件類型: .rar金幣: 2下載: 0 次發布日期: 2021-05-04
- 語言: 其他
- 標簽: stm32的FSMC??
資源簡介
基于stm32的FSMC的ad7606 的的程序,實測可用。AD7606 的配置很簡單,它沒有內部寄存器。量程范圍和過采樣參數是通過外部IO控制的。
采樣速率由MCU或DSP提供的脈沖頻率控制。
AD7606 必須使用單5V供電。
AD7606 和MCU之間的通信接口電平由VIO引腳控制。也就是說 VIO必須接單片機的電源,可以是3.3V也可以是5V。

代碼片段和文件信息
/*
*********************************************************************************************************
*
* 模塊名稱?:?AD7606數據采集模塊
* 文件名稱?:?bsp_ad7606.c
* 版????本?:?V1.0
* 說????明?:?AD7606掛在STM32的FSMC總線上。
*
* 本例子使用了?TIM4?作為硬件定時器,定時啟動ADC轉換
*
* 修改記錄?:
* 版本號??日期????????作者?????說明
* V1.0????2013-02-01?armfly??正式發布
*
* Copyright?(C)?2013-2014?安富萊電子?www.armfly.com
*
*********************************************************************************************************
*/
#include?“bsp.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???PH12/TIM5_CH3/DCMI_D3?*/
#define?CONVST_1() GPIOH->BSRRL?=?GPIO_Pin_12
#define?CONVST_0() GPIOH->BSRRH?=?GPIO_Pin_12
/*?設置輸入量程的GPIO?:??*/
#define?RANGE_1() GPIOH->BSRRL?=?GPIO_Pin_14
#define?RANGE_0() GPIOH->BSRRH?=?GPIO_Pin_14
/*?AD7606復位口線?:?PI4??*/
#define?RESET_1() GPIOI->BSRRL?=?GPIO_Pin_4
#define?RESET_0() GPIOI->BSRRH?=?GPIO_Pin_4
/*?AD7606?FSMC總線地址,只能讀,無需寫?*/
#define?AD7606_RESULT() *(__IO?uint16_t?*)0x6C400000
AD7606_VAR_T?g_tAD7606; /*?定義1個全局變量,保存一些參數?*/
AD7606_FIFO_T?g_tAdcFifo; /*?定義FIFO結構體變量?*/
static?void?AD7606_CtrlLinesConfig(void);
static?void?AD7606_FSMCConfig(void);
/*
*********************************************************************************************************
* 函?數?名:?bsp_InitExtSRAM
* 功能說明:?配置連接外部SRAM的GPIO和FSMC
* 形????參:無
* 返?回?值:?無
*********************************************************************************************************
*/
void?bsp_InitAD7606(void)
{
AD7606_CtrlLinesConfig();
AD7606_FSMCConfig();
AD7606_SetOS(AD_OS_NO); /*?無過采樣?*/
AD7606_SetInputRange(0); /*?0表示輸入量程為正負5V?1表示正負10V?*/
AD7606_Reset();
CONVST_1(); /*?啟動轉換的GPIO平時設置為高?*/
}
/*
*********************************************************************************************************
* 函?數?名:?AD7606_CtrlLinesConfig
* 功能說明:?配置LCD控制口線,FSMC管腳設置為復用功能
* 形????參:無
* 返?回?值:?無
*********************************************************************************************************
*/
/*
安富萊STM32-V5開發板接線方法:
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 ---?和主片選一起譯碼
PE5/FSMC_A21 ---?和主片選一起譯碼
PE7/FSMC_D4
PE8/FSMC_D5
PE9/FSMC_D6
PE10/FSMC_D7
PE11/FSMC_D8
PE12/FSMC_D9
PE13/FSMC_D10
PE14/FSMC_D11
PE15/FSMC_D12
PG12/FSMC_NE4 ---?主片選(TFT?OLED?和?AD7606)
其他的控制IO:
PH9/DCMI_D0/AD7606_OS0 --->?AD7606_OS0 OS2:OS0?選擇數字濾波參數
PH10/DCMI_D1/AD7606_OS1?????????--->?AD7606_OS1
PH11/DCMI_D2/AD7606_OS2?????????--->?AD7606_OS2
PH12/DCMI_D3/AD7606_CONVS
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????22792??2013-05-14?15:49??AD7606\bsp_ad7606.c
?????文件??????12017??2013-05-27?11:24??AD7606\bsp_spi_ad7606.c
?????文件???????3999??2013-05-30?16:00??AD7606\模塊接口簡要說明.txt
?????目錄??????????0??2014-07-09?08:46??AD7606
-----------?---------??----------?-----??----
????????????????38808????????????????????4
- 上一篇:永磁同步電機的積分滑模控制(使用s函數編寫
- 下一篇:1000個免費DDOS資源
評論
共有 條評論