我是菜鸟不太懂还请大神们谅解。 对于ADC配置如下: RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOC, ENABLE); //使能ADC和GPIOC时钟 /* ADC1 configuration ------------------------------------------------------*/ ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //独立的转换模式 ADC_InitStructure.ADC_ScanConvMode = ENABLE; //开启扫描模式 ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //开启连续转换模式 ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //ADC外部开关,关闭状态 ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //对齐方式,ADC为12位中,右对齐方式 ADC_InitStructure.ADC_NbrOfChannel = 1; //开启通道数,1个 ADC_Init(ADC1, &ADC_InitStructure); /* ADC1 regular channel13 configuration */ ADC_RegularChannelConfig(ADC1, ADC_Channel_13, 1, ADC_SampleTime_55Cycles5); //ADC通道组, 第13个通道(PC3) 采样顺序1,转换时间 /* Enable ADC1 DMA */ ADC_DMACmd(ADC1, ENABLE); //ADC命令,使能 /* Enable ADC1 */ ADC_Cmd(ADC1, ENABLE); //开启ADC1 /* Enable ADC1 reset calibaration register */ ADC_ResetCalibration(ADC1); //重新校准 /* Check the end of ADC1 reset calibration register */ while(ADC_GetResetCalibrationStatus(ADC1)); //等待重新校准完成 /* Start ADC1 calibaration */ ADC_StartCalibration(ADC1); //开始校准 /* Check the end of ADC1 calibration */ while(ADC_GetCalibrationStatus(ADC1)); //等待校准完成 /* Start ADC1 Software Conversion */ ADC_SoftwareStartConvCmd(ADC1, ENABLE); //连续转换开始,ADC通过DMA方式不断的更新RAM区。 那还需不需要配置以下这个呢? void ADC_GPIO_Configuration(void) //ADC配置函数 { GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; //管脚3 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;//输入模式 GPIO_Init(GPIOC, &GPIO_InitStructure); //GPIO组 } 如果需要那为什么开发板历程里面没有配置。若不需要为什么USART1库函数配置了,这个没配置呢? |
RE:各位大神求救关于STM32的IO配置问题
https://www.stmcu.org.cn/bbs/article_244_236571.html
RE:各位大神求救关于STM32的IO配置问题