打印
[国产单片机]

【东软载波ES32F369x+ADC采样】

[复制链接]
426|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1、引脚使用PA5,也就是ADC的通道9




2、引脚复用功能
复用功能是功能0,因此在软件配置的时候需要配置为复用功能0


3、ADC初始化
硬件设计上,使用VDD作为参考,因此软件配置的时候也要配置为使用VDD。
void adc_init(void)
{
        md_gpio_init_t x;

        x.mode  = MD_GPIO_MODE_INPUT;
        x.pupd  = MD_GPIO_PUSH_UP;
        x.odos  = MD_GPIO_PUSH_PULL;
        x.podrv = MD_GPIO_OUT_DRIVE_1;
        x.nodrv = MD_GPIO_OUT_DRIVE_1;
        x.flt   = MD_GPIO_FILTER_DISABLE;
        x.type  = MD_GPIO_TYPE_CMOS;
        x.func  = MD_GPIO_FUNC_0;
        md_gpio_init(GPIOA, MD_GPIO_PIN_5, &x);
       
        md_adc_init_t h_adc;
  md_adc_nch_conf_t config;
       
  md_adc_struct_init(&h_adc);
        md_adc_normal_struct_init(&config);
        md_adc_init(ADC0, &h_adc);
        md_adc_normal_channel_config(ADC0, &config);
}

4、获取ADC
uint32_t get_adc_value(void)
{
        uint32_t value=0;
                /* Start normal convert */
        md_adc_set_normal_channel_conv_start_nchtrg(ADC0);
        /* Wait convert finish */
        while (md_adc_get_stat_nche(ADC0) == 0);
        /* Clear complete flag */
        md_adc_set_clr_nche(ADC0);
        /* Read normal convert result */
        value = md_adc_get_normal_channel_val(ADC0);
       
        return value;
}
5、现象
通过调节R8的阻值,可以看到ADC采样值的变化


使用特权

评论回复

相关帖子

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

本版积分规则

个人签名:stm32/LoRa物联网:304350312

65

主题

785

帖子

10

粉丝