AD不能连续采集转换

2019-07-21 02:57发布

STM32F407配置了ADC,连续采样转换,但实际效果是打开AD后只采集一次,配置情况见如下代码段,不知道什么原因,大神帮忙看看。

GPIO_InitTypeDef GPIO_InitStructure;
ADC_InitTypeDef ADC_InitStruct;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC2, ENABLE);    
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);   

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; 
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOC, &GPIO_InitStructure);

ADC_InitStruct.ADC_Resolution = ADC_Resolution_12b;
ADC_InitStruct.ADC_ScanConvMode = DISABLE;
ADC_InitStruct.ADC_ContinuousConvMode = ENABLE;
ADC_InitStruct.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;
ADC_InitStruct.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStruct.ADC_NbrOfConversion = 1;        
ADC_Init(ADC2, &ADC_InitStruct);

ADC_RegularChannelConfig(ADC2, ADC_Channel_10, 1, ADC_SampleTime_15Cycles);
ADC_ContinuousModeCmd(ADC2, ENABLE);
ADC_Cmd(ADC2, ENABLE);

ADC_SoftwareStartConv(ADC2);


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
xuande
1楼-- · 2019-07-21 08:13
 精彩回答 2  元偷偷看……
Flyaohust
2楼-- · 2019-07-21 14:01
回复【2楼】xuande:
---------------------------------
谢谢xuande,在非DMA模式下,当CR的EOCS位置1时,则会使能溢出中断;
要在EOCS为1时,将ADC从OVR状态恢复,则必须:
1、将ADC_SR寄存器中的ADC_OVR位清零;
2、触发ADC以开始转换。

一周热门 更多>