自己一个人搞了一周,还是搞不定,特来请教原子哥和大家。
使用STM32F205VGT6,想利用TIMER1来触发ADC采集,然后DMA将数据从数据寄存器拷贝到内存数组。
结果TIMER1运行起来了,ADC始终没有产生转换完成中断。
static void ADC1_CH15_Config(void)
{
ADC_InitTypeDef ADC_InitStructure;
/*单通道不扫描模式,精度12位*/
ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b; //12bit数据精度
ADC_InitStructure.ADC_ScanConvMode = DISABLE; //不开启通道扫描模式
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; //禁止连续转换模式,启用单次转换模式
ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_Rising;
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1; //外部触发源选择
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //数据右对齐
ADC_InitStructure.ADC_NbrOfConversion = 1;
ADC_Init(ADC1, &ADC_InitStructure);
ADC_RegularChannelConfig(ADC1, ADC_Channel_15, 1, ADC_SampleTime_3Cycles);
ADC_DMACmd(ADC1, ENABLE);
}
此处已设置了ADC1由TIMER1的CC1事件触发,但始终没动静
|