高中生
最后登录1970-1-1
在线时间 小时
注册时间2014-11-24
|
我用的是stm32mini的单片机,我想用adc1和adc2分别采样时,两个adc配置如下 //ADC1 configuration ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //adc1独立模式
ADC_InitStructure.ADC_ScanConvMode = ENABLE ; //扫描
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //持续
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //软件触发
//ADC1->CR2=0x001E0001;
//ADC1->CR2=0x000E0001;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //右对齐
ADC_InitStructure.ADC_NbrOfChannel = 2; //通道数
ADC_Init(ADC1, &ADC_InitStructure);
/*adc1采样频率′9MHz*/
RCC_ADCCLKConfig(RCC_PCLK2_DiARM);
/*ÅäÖÃADC1μÄí¨μà11Îa55. 5¸ö2éÑùÖüÆú£¬DòáDÎa1 */
ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 1, ADC_SampleTime_55Cycles5);
/* Enable ADC1 DMA */
//ADC_DMACmd(ADC1, ENABLE);
/* Enable ADC1 */
ADC_Cmd(ADC1, ENABLE);
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; /adc2独立
ADC_InitStructure.ADC_ScanConvMode = ENABLE ; /扫描
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //连续
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //软件触发
//ADC1->CR2=0x001E0001;
//ADC1->CR2=0x000E0001;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //右对齐
ADC_InitStructure.ADC_NbrOfChannel = 2; /2个通道
ADC_Init(ADC2, &ADC_InitStructure);
/*ÅäÖÃADCê±Öó£¬ÎaPCLK2μÄ8·ÖÆμ£¬¼′9MHz*/
RCC_ADCCLKConfig(RCC_PCLK2_DiARM);
/*ÅäÖÃADC1μÄí¨μà11Îa55. 5¸ö2éÑùÖüÆú£¬DòáDÎa1 */
ADC_RegularChannelConfig(ADC2, ADC_Channel_5, 2, ADC_SampleTime_55Cycles5);
/* Enable ADC1 DMA */
//ADC_DMACmd(ADC1, ENABLE);
/* Enable ADC1 */
ADC_Cmd(ADC2, ENABLE);
/*¸′λD£×¼¼Ä′æÆ÷ */
ADC_ResetCalibration(ADC1);
ADC_ResetCalibration(ADC2);
/*adc校验 */
while(ADC_GetResetCalibrationStatus(ADC1));
while(ADC_GetResetCalibrationStatus(ADC2));
/* ADCD£×¼ */
ADC_StartCalibration(ADC1);
ADC_StartCalibration(ADC2);
/* μè′yD£×¼íê3é*/
while(ADC_GetCalibrationStatus(ADC1));
while(ADC_GetCalibrationStatus(ADC2));
就是将adc1 的配置同样配置adc2,然后分别在adc1和adc2的dr里取数据,但是就是adc2乱码!
火哥救命呀1
|
|