wwwicq 发表于 2022-10-13 11:53:33

国民技术N32G031使用经验2_ADC采集

国民技术N32G031使用经验2_ADC采集:
    国民技术ARM系列芯片性价比高,使用方便,唯独官方例子太少,因此在这贴出常用部分代码,供初用者参考改进:
void ADC_Initial(void)
{
      ADC_InitType ADC_InitStructure;
      GPIO_InitType GPIO_InitStructure;
   
      ADC_DeInit(ADC);
   
      //RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOA, ENABLE);
    //RCC_EnableAHBPeriphClk(RCC_AHB_PERIPH_ADC, ENABLE); /* Enable ADC clocks */
   
      RCC_ConfigAdc1mClk(RCC_ADC1MCLK_SRC_HSI, RCC_ADC1MCLK_DIV8);
    ADC_ConfigClk(ADC_CTRL3_CKMOD_AHB, RCC_ADCHCLK_DIV16); /* RCC_ADCHCLK_DIV16*/
      
    GPIO_InitStruct(&GPIO_InitStructure);
    /* Configure PA as analog input -------------------------*/
    GPIO_InitStructure.Pin       = GPIO_PIN_3;
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_ANALOG;
    GPIO_InitPeripheral(GPIOA, &GPIO_InitStructure);
      
    /* ADC configuration ------------------------------------------------------*/
    ADC_InitStructure.MultiChEn      = DISABLE;
    ADC_InitStructure.ContinueConvEn = DISABLE;
    ADC_InitStructure.ExtTrigSelect= ADC_EXT_TRIGCONV_NONE;
    ADC_InitStructure.DatAlign       = ADC_DAT_ALIGN_R;
    ADC_InitStructure.ChsNumber      = 1;
    ADC_Init(ADC, &ADC_InitStructure);
//    /* ADC1 regular channel13 configuration */
//    ADC_ConfigRegularChannel(ADC, ADC_CH_13_PC2, 1, ADC_SAMP_TIME_55CYCLES5);
//    /* Enable ADC DMA */
//    ADC_EnableDMA(ADC, ENABLE);

    //ADC_EnableVrefint(ENABLE);

    /* Enable ADC */
    ADC_Enable(ADC, ENABLE);
    /* Check ADC Ready */
    while(ADC_GetFlagStatusNew(ADC,ADC_FLAG_RDY) == RESET)
      ;
    while(ADC_GetFlagStatusNew(ADC,ADC_FLAG_PD_RDY))
      ;
}

uint16_t ADC_GetData(uint8_t ADC_Channel)
{
    uint16_t dat;
    ADC_ConfigRegularChannel(ADC, ADC_Channel, 1, ADC_SAMP_TIME_56CYCLES5);
    /* Start ADC Software Conversion */
    ADC_EnableSoftwareStartConv(ADC,ENABLE);
    while(ADC_GetFlagStatus(ADC,ADC_FLAG_ENDC)==0){
    }
    ADC_ClearFlag(ADC,ADC_FLAG_ENDC);
    ADC_ClearFlag(ADC,ADC_FLAG_STR);
    dat=ADC_GetDat(ADC);
    return dat;
}

mj8abcd 发表于 2022-10-13 17:01:23

罗塘阮经天 发表于 2022-10-13 22:25:04

谢谢分享

zhang_tao_08 发表于 2022-10-14 08:23:25

bidezhi7777 发表于 2022-10-14 08:38:24

花儿与少年 发表于 2022-10-14 09:09:40

longxuekai 发表于 2022-10-15 01:38:12

了解一下吧

kingweison 发表于 2023-12-28 09:23:41

页: [1]
查看完整版本: 国民技术N32G031使用经验2_ADC采集