微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > STM32F1 的ADC使用是时钟问题

STM32F1 的ADC使用是时钟问题

时间:10-02 整理:3721RD 点击:
在学习ADC时发现没有配置ADC时钟相关的函数,ADC工作正常。请大神解释一下,以及没有配置时钟可能出现什么问题
代码如下:

  1. #include "adc.h"

  2. void ADC_MODE_Config(void)
  3. {
  4.                 ADC_InitTypeDef ADC_InitStructure;
  5.                
  6. ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
  7.         ADC_InitStructure.ADC_ScanConvMode = ENABLE;
  8.         ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
  9.         ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
  10.         ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
  11.         ADC_InitStructure.ADC_NbrOfChannel = 1;
  12.         ADC_Init(ADC1, &ADC_InitStructure);
  13. ADC_RegularChannelConfig(ADC1, ADC_Channel_15, 1, ADC_SampleTime_55Cycles5);
  14.         
  15.         ADC_Cmd(ADC1, ENABLE);
  16. ADC_SoftwareStartConvCmd(ADC1, ENABLE);
  17. }

  18. void ADC_GPIO_Config(void)
  19. {
  20.         GPIO_InitTypeDef GPIO_InitStructure;
  21.         
  22.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_ADC1, ENABLE);
  23.         
  24.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
  25.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  26.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
  27.         GPIO_Init(GPIOC, &GPIO_InitStructure);
  28. }

复制代码

//RCC_ADCCLKConfig(RCC_PCLK2_Div4);         这个ADC时钟没有开启。代码我贴上来了

安富莱的开发板有这方面的例程,你到他们网站看下

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top