请问STM32F103VET6关于双ADC规则同步如何理解?

2019-07-14 15:58发布

这是野火的官方例程:
ADC1配置如下:
            //ADC1 初始化   
  1. ADC_InitTypeDef ADC_InitStruct;        
  2.         ADCx_1_APBxClock_FUN( ADCx_1_CLK, ENABLE );
  3.         
  4.         ADC_InitStruct.ADC_Mode = ADC_Mode_RegSimult;
  5.         ADC_InitStruct.ADC_ScanConvMode = DISABLE;      
  6.         ADC_InitStruct.ADC_ContinuousConvMode = ENABLE;        
  7. <font color="#ff0000" size="4">        ADC_InitStruct.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;</font>
  8.         ADC_InitStruct.ADC_DataAlign = ADC_DataAlign_Right;
  9.         ADC_InitStruct.ADC_NbrOfChannel = NOFCHANEL;        
  10.         ADC_Init(ADCx_1, &ADC_InitStruct);        
  11.         RCC_ADCCLKConfig(RCC_PCLK2_Div8);        
  12.         ADC_RegularChannelConfig(ADCx_1, ADCx_1_CHANNEL, 1, ADC_SampleTime_55Cycles5);
复制代码
ADC2配置如下:
//      ADC2 初始化

  1. ADCx_1_APBxClock_FUN( ADCx_2_CLK, ENABLE );
  2.         
  3.         ADC_InitStruct.ADC_Mode = ADC_Mode_RegSimult;
  4.         ADC_InitStruct.ADC_ScanConvMode = DISABLE;      
  5.         ADC_InitStruct.ADC_ContinuousConvMode = ENABLE;        
  6. <font color="#ff0000" size="4">        ADC_InitStruct.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;</font>
  7.         ADC_InitStruct.ADC_DataAlign = ADC_DataAlign_Right;
  8.         ADC_InitStruct.ADC_NbrOfChannel = NOFCHANEL;        
  9.         ADC_Init(ADCx_2, &ADC_InitStruct);        
  10.         RCC_ADCCLKConfig(RCC_PCLK2_Div8);        
  11.         ADC_RegularChannelConfig(ADCx_2, ADCx_2_CHANNEL, 1, ADC_SampleTime_55Cycles5);
复制代码ADC1使能函数:ADC_SoftwareStartConvCmd(ADCx_1, ENABLE);
ADC2使能函数:ADC_ExternalTrigConvCmd(ADC2, ENABLE);
/*----------------------------------------------------------------------------------*/
本例程的前提是双ADC规则同步。
由例程可知,ADC1和ADC2的配置都一模一样,外部触发转换选择的都是关闭(代码中标红的位置),为什么在使能的时候,ADC1采用软件触发转换,而ADC2却采用外部触发转换,ADC1采用软件触发转换可以理解,而ADC2在配置的时候明明选择的是ADC_InitStruct.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None, 为什么在使能ADC2的时候却用ADC_ExternalTrigConvCmd(ADC2, ENABLE)这个函数使能,不是在配置的时候明明关闭了外部触发转换,脑洞转不过来,有人能帮忙解释一下吗?

0条回答

一周热门 更多>