打印
[N32G43x]

关于ADC无法上电的问题

[复制链接]
574|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
江门彦祖|  楼主 | 2022-11-15 15:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
芯片是使用N32G430C8L7,在初始化ADC的时候轮询ADC上电
状态位,一直无法读回。代码如下:

void InitADC (void)
{
        ADC_InitType ADC_InitStructure;
        GPIO_InitType GPIO_InitStructure;
       
        RCC_AHB_Peripheral_Clock_Enable(RCC_AHB_PERIPH_GPIOA | RCC_AHB_PERIPH_ADC);
       
  ADC_Clock_Mode_Config(ADC_CKMOD_AHB, RCC_ADCHCLK_DIV16);
        RCC_ADC_1M_Clock_Config(RCC_ADC1MCLK_SRC_HSE, RCC_ADC1MCLK_DIV8);
       
        GPIO_Structure_Initialize(&GPIO_InitStructure);
        GPIO_InitStructure.Pin          = GPIO_PIN_6 | GPIO_PIN_7;
        GPIO_InitStructure.GPIO_Mode    = GPIO_MODE_ANALOG;               
        GPIO_Peripheral_Initialize(GPIOA, &GPIO_InitStructure);               
       
        ADC_Initializes_Structure(&ADC_InitStructure);
  ADC_InitStructure.MultiChEn      = DISABLE;
  ADC_InitStructure.ContinueConvEn = DISABLE;
  ADC_InitStructure.ExtTrigSelect  = ADC_EXT_TRIGCONV_REGULAR_SWSTRRCH;
  ADC_InitStructure.DatAlign       = ADC_DAT_ALIGN_R;
  ADC_InitStructure.ChsNumber      = ADC_REGULAR_LEN_1;
  ADC_Initializes(&ADC_InitStructure);
       
        ADC_Data_Resolution_Config(ADC_RST_BIT_10);
       
        ADC_ON();
  while(ADC_Flag_Status_Get(ADC_RD_FLAG ,ADC_FLAG_AWDG ,ADC_FLAG_RDY) == RESET);
       
  ADC_Calibration_Operation(ADC_CALIBRATION_ENABLE);
  while (ADC_Calibration_Operation(ADC_CALIBRATION_STS) == SET);
}

使用特权

评论回复
沙发
江门彦祖|  楼主 | 2022-11-16 14:48 | 只看该作者
已解决

使用特权

评论回复
板凳
sy12138| | 2022-11-18 10:28 | 只看该作者
需要关注一下ADC的时钟配置

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

10

帖子

0

粉丝