資源簡(jiǎn)介
stm32f4系列ADC四路采集,主從ADC模式交替轉(zhuǎn)變,實(shí)測(cè)可行,資源大家一起分享,研究時(shí)間過長(zhǎng)!
代碼片段和文件信息
#include?“stm32f4xx.h“
#include?“BSP_ADC.h“
#define?ADC_DR_ADDRESS????((uint32_t)0x40012308)
#define?ADC_BUF_SIZE?4
__IO?u16?aADCConvertedValue[ADC_BUF_SIZE];
//初始化ADC ???
void?_BSP_ADC_Init()
{
ADC_CommonInitTypeDef?ADC_CommonInitStructure?;
ADC_InitTypeDef???????ADC_InitStructure;
DMA_InitTypeDef???????DMA_InitStructure;
DMA_DeInit(DMA2_Stream0);
while?(DMA_GetCmdStatus(DMA2_Stream0)?!=?DISABLE)
{
}
/*?DMA2?Stream0?channel2?configuration?**************************************/
DMA_InitStructure.DMA_Channel?=?DMA_Channel_0;??
DMA_InitStructure.DMA_PeripheralbaseAddr?=?(uint32_t)ADC_DR_ADDRESS;
DMA_InitStructure.DMA_Memory0baseAddr?=?(uint32_t)aADCConvertedValue;
DMA_InitStructure.DMA_DIR?=?DMA_DIR_PeripheralToMemory;
DMA_InitStructure.DMA_BufferSize?=?ADC_BUF_SIZE;
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_InitStructure.DMA_FIFOMode?=?DMA_FIFOMode_Enable;?????????
DMA_InitStructure.DMA_FIFOThreshold?=?DMA_FIFOThreshold_HalfFull;
DMA_InitStructure.DMA_MemoryBurst?=?DMA_MemoryBurst_Single;
DMA_InitStructure.DMA_PeripheralBurst?=?DMA_PeripheralBurst_Single;
DMA_Init(DMA2_Stream0?&DMA_InitStructure);
DMA_Cmd(DMA2_Stream0?ENABLE);
RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1ENABLE); ??//ADC1復(fù)位
RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1DISABLE); //復(fù)位結(jié)束 ?
RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC2ENABLE); ??//ADC2復(fù)位
RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC2DISABLE); //復(fù)位結(jié)束 ?
ADC_CommonInitStructure.ADC_Mode?=?ADC_DualMode_RegSimult;//雙通道模式
ADC_CommonInitStructure.ADC_TwoSamplingDelay?=?ADC_TwoSamplingDelay_5Cycles;//兩個(gè)采樣階段之間的延遲5個(gè)時(shí)鐘
ADC_CommonInitStructure.ADC_DMAAccessMode?=?ADC_DMAAccessMode_1;?//DMA
ADC_CommonInitStructure.ADC_Prescaler?=?ADC_Prescaler_Div8;//預(yù)分頻4分頻。ADCCLK=PCLK2/8=168/8=21MhzADC時(shí)鐘最好不要超過36Mhz?
ADC_CommonInit(&ADC_CommonInitStructure);//初始化
ADC_InitStructure.ADC_Resolution?=?ADC_Resolution_12b;//12位模式
ADC_InitStructure.ADC_ScanConvMode?=?ENABLE;//掃描模式
ADC_InitStructure.ADC_ContinuousConvMode?=?ENABLE;//連續(xù)轉(zhuǎn)換
ADC_InitStructure.ADC_ExternalTrigConvEdge?=?ADC_ExternalTrigConvEdge_None;//禁止觸發(fā)檢測(cè),使用軟件觸發(fā)
ADC_InitStructure.ADC_ExternalTrigConv?=?ADC_ExternalTrigConv_T1_CC1;
ADC_InitStructure.ADC_DataAlign?=?ADC_DataAlign_Right;//右對(duì)齊
ADC_InitStructure.ADC_NbrOfConversion?=?2;//??2個(gè)轉(zhuǎn)換在規(guī)則序列中?也就是只轉(zhuǎn)換規(guī)則序列2
ADC_Init(ADC2?&ADC_InitStructure);//ADC初始化
/*?ADC2?regular?channel5?configuration?**************************************/
ADC_RegularChannelConfig(ADC2?ADC_Chann
- 上一篇:使用DShow進(jìn)行攝像頭采集并拍照
- 下一篇:ARM控制蜂鳴器
評(píng)論
共有 條評(píng)論