資源簡介
工程是基于STM32F207的ADC_DMA的整體程序
#define ADC1_DR_Address ((u32)0x4001204C) //ADC1數據寄存器地址=ADC1基準地址(0x40012000)+數據寄存器偏移地址(0x4c)
GPIO_InitTypeDef GPIO_InitStructure;
ADC_InitTypeDef ADC_InitStructure;
ADC_CommonInitTypeDef ADC_CommonInitStructure;
DMA_InitTypeDef DMA_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);// 使能 GPIO 時鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 , ENABLE);// 開啟ADC時鐘
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE); // 開啟DMA時鐘
DMA_DeInit(DMA2_Stream0);
DMA_InitStructure.DMA_Channel=DMA_Channel_0;
DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;// 外設基址為:ADC 數據寄存器地址
DMA_InitStructure.DMA_Memory0BaseAddr = (u32)&ad;_start;// 存儲器地址,實際上就是一個內部SRAM的變量
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;// 數據傳輸方向為外設到存儲器
DMA_InitStructure.DMA_BufferSize = 1;// 緩沖區大小為,指一次傳輸的數據量
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; // 外設寄存器只有一個,地址不用遞增
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;// 存儲器地址
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;// 外設數據大小為半字,即兩個字節
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; // 存儲器數據大小也為半字,跟外設數據大小相同
DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; // 循環傳輸模式
DMA_InitStructure.DMA_Priority = DMA_Priority_High;// DMA 傳輸通道優先級為高,當使用一個DMA通道時,優先級設置不影響
DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; // 禁止DMA FIFO ,使用直連模式
DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull;
DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;
DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;

代碼片段和文件信息
/**
??******************************************************************************
??*?@file????USART/USART_Printf/main.c?
??*?@author??MCD?Application?Team
??*?@version?V1.0.0
??*?@date????30-September-2011
??*?@brief???Main?program?body
??******************************************************************************
??*?@attention
??*
??*?THE?PRESENT?FIRMWARE?WHICH?IS?FOR?GUIDANCE?ONLY?AIMS?AT?PROVIDING?CUSTOMERS
??*?WITH?CODING?INFORMATION?REGARDING?THEIR?PRODUCTS?IN?ORDER?FOR?THEM?TO?SAVE
??*?TIME.?AS?A?RESULT?STMICROELECTRONICS?SHALL?NOT?BE?HELD?LIABLE?FOR?ANY
??*?DIRECT?INDIRECT?OR?CONSEQUENTIAL?DAMAGES?WITH?RESPECT?TO?ANY?CLAIMS?ARISING
??*?FROM?THE?CONTENT?OF?SUCH?FIRMWARE?AND/OR?THE?USE?MADE?BY?CUSTOMERS?OF?THE
??*?CODING?INFORMATION?CONTAINED?HEREIN?IN?CONNECTION?WITH?THEIR?PRODUCTS.
??*
??*?©?COPYRIGHT?2011?STMicroelectronics
??******************************************************************************
??*/?
/*?Includes?------------------------------------------------------------------*/
#include?“stm32f2xx.h“
//#include?“stm324xg_eval.h“
#include?
#include?“delay.h“
#define?ADC1_DR_Address????((u32)0x4001204C)?//ADC1數據寄存器地址=ADC1基準地址(0x40012000)+數據寄存器偏移地址(0x4c)
/**?@addtogroup?STM32F4xx_StdPeriph_Examples
??*?@{
??*/
/**?@addtogroup?USART_Printf
??*?@{
??*/?
/*?Private?typedef?-----------------------------------------------------------*/
/*?Private?define?------------------------------------------------------------*/
/*?Private?macro?-------------------------------------------------------------*/
/*?Private?variables?---------------------------------------------------------*/
USART_InitTypeDef?USART_InitStructure;
void?GPIO_Configuration(void);
void?NVIC_Configuration(void);
void?ADC_DMA_Init(void);
u8?Uart_PutChar(u8?ch);
u8?(?*ch)(u8);
void?Uart_PutString(u8?buf[]u16?len);
unsigned?int?j;
unsigned?char?rx_buf[300];
unsigned?int?rx_num?=?0;
unsigned?int?tx_num?=?0;
unsigned?char?rx_state?=?0;
vu16?ad_start[2];
/*?Private?function?prototypes?-----------------------------------------------*/
#ifdef?__GNUC__
??/*?With?GCC/RAISONANCE?small?printf?(option?LD?linker->Libraries->Small?printf
?????set?to?‘Yes‘)?calls?__io_putchar()?*/
??#define?PUTCHAR_PROTOTYPE?int?__io_putchar(int?ch)
#else
??#define?PUTCHAR_PROTOTYPE?int?fputc(int?ch?FILE?*f)
#endif?/*?__GNUC__?*/
/*?Private?functions?---------------------------------------------------------*/
/**
??*?@brief??Main?program
??*?@param??None
??*?@retval?None
??*/
int?main(void)
{
??SystemInit();
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);?
NVIC_Configuration();
ADC_DMA_Init();
??GPIO_Configuration();?
ADC_SoftwareStartConv(ADC1);??//開始adc轉換,軟件觸發
??while?(1)
??{
printf(“ADC_DMA實驗\n“);
delay_ms(1000); //從正點原子例程移植的延時函數
??}
}
void?GPIO_Configuration(void)
{
GPIO_InitTypeDef? GPIO_InitStructure;
RCC_AHB1Periph
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????7930??2018-08-26?20:39??STM32F207?ADC_DMA\delay\delay.c
?????文件???????1995??2018-11-20?10:27??STM32F207?ADC_DMA\delay\delay.h
?????文件??????47442??2012-04-04?20:39??STM32F207?ADC_DMA\EWARM\Project.dep
?????文件??????26223??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\Project.ewd
?????文件??????30376??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\Project.ewp
?????文件????????161??2011-04-21?18:54??STM32F207?ADC_DMA\EWARM\Project.eww
?????文件???????3011??2011-04-21?18:54??STM32F207?ADC_DMA\EWARM\readme.txt
?????文件???????1356??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\settings\Project.cspy.bat
?????文件?????????63??2012-04-04?20:39??STM32F207?ADC_DMA\EWARM\settings\Project.dbgdt
?????文件????????258??2012-04-04?20:39??STM32F207?ADC_DMA\EWARM\settings\Project.dni
?????文件???????2480??2012-04-04?20:39??STM32F207?ADC_DMA\EWARM\settings\Project.wsdt
?????文件?????234464??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Exe\Project.out
?????文件??????41766??2012-04-04?20:39??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\List\Project.map
?????文件??????22420??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\core_cm3.o
?????文件??????20060??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\main.o
?????文件??????15168??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\misc.o
?????文件??????67448??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\startup_stm32f2xx.o
?????文件??????23568??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\stm322xg_eval_fsmc_sram.o
?????文件?????136448??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\stm322xg_eval_ioe.o
?????文件?????192448??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\stm322xg_eval_lcd.o
?????文件??????78704??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\stm32f2xx_adc.o
?????文件??????57352??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\stm32f2xx_can.o
?????文件??????15704??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\stm32f2xx_crc.o
?????文件??????35940??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\stm32f2xx_cryp.o
?????文件??????40696??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\stm32f2xx_cryp_aes.o
?????文件??????18560??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\stm32f2xx_cryp_des.o
?????文件??????18752??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\stm32f2xx_cryp_tdes.o
?????文件??????39312??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\stm32f2xx_dac.o
?????文件??????14404??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\stm32f2xx_dbgmcu.o
?????文件??????33352??2012-04-04?20:38??STM32F207?ADC_DMA\EWARM\STM322xG_EVAL\Obj\stm32f2xx_dcmi.o
............此處省略401個文件信息
評論
共有 條評論