我们从2011年坚守至今,只想做存粹的技术论坛,记录你的技术足迹,有空就回来看看。  由于网站在外面,点击附件后可能要20秒才弹出下载,请耐心等待,勿重复点击

 找回密码
 立即注册
搜索
查看: 758|回复: 7

[技术文章] 国民技术N32G031使用经验2_ADC采集

[复制链接]

该用户从未签到

3

主题

0

回帖

0

积分

一级逆天

积分
0

终身成就奖

发表于 2022-10-13 11:53:33 | 显示全部楼层 |阅读模式
国民技术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;
}
回复

使用道具 举报

  • TA的每日心情
    慵懒
    2024-6-14 16:03
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    0

    主题

    1万

    回帖

    7618

    积分

    二级逆天

    积分
    7618

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2022-10-13 17:01:23 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    3

    主题

    4632

    回帖

    0

    积分

    PADS20200316初级班

    积分
    0

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    发表于 2022-10-13 22:25:04 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    8

    主题

    2386

    回帖

    2583

    积分

    二级逆天

    积分
    2583

    终身成就奖特殊贡献奖原创先锋奖

    发表于 2022-10-14 08:23:25 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 11:31
  • 签到天数: 25 天

    [LV.4]偶尔看看III

    60

    主题

    1万

    回帖

    8201

    积分

    二级逆天

    积分
    8201

    终身成就奖特殊贡献奖原创先锋奖社区居民灌水天才奖优秀斑竹奖宣传大使奖忠实会员最爱沙发社区劳模

    QQ
    发表于 2022-10-14 08:38:24 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    51

    主题

    3516

    回帖

    2677

    积分

    二级逆天

    积分
    2677

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2022-10-14 09:09:40 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:54
  • 签到天数: 29 天

    [LV.4]偶尔看看III

    49

    主题

    1万

    回帖

    7万

    积分

    三级逆天

    积分
    70212

    终身成就奖特殊贡献奖原创先锋奖社区居民忠实会员社区劳模最爱沙发社区明星原创达人优秀斑竹奖宣传大使奖

    QQ
    发表于 2022-10-15 01:38:12 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:26
  • 签到天数: 35 天

    [LV.5]常住居民I

    43

    主题

    4690

    回帖

    3768

    积分

    二级逆天

    积分
    3768

    社区居民忠实会员社区劳模原创达人终身成就奖优秀斑竹奖特殊贡献奖原创先锋奖

    QQ
    发表于 2023-12-28 09:23:41 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    平平安安
    TOP
    快速回复 返回顶部 返回列表