Skip to content

master分支下,使用ADC例程读出来的数据过高 (GIT8266O-840) #1263

Open
@Rita858

Description

@Rita858

分支:MASTER
COMMIT:3b15c065c5f37db69b4555fc23c78b8837c3554b
源码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/adc.h"
#include "esp_log.h"

static const char *TAG = "adc example";

static void adc_task()
{
    int x;
    uint16_t adc_data[100];
    uint16_t adc_value_average,adc_voltage_mv1;
    uint32_t  adc_values;

    while (1) {
        if (ESP_OK == adc_read(&adc_data[0])) {
            ESP_LOGI(TAG, "adc read: %d\r\n", adc_data[0]);
        }
        adc_values = 0;
        ESP_LOGI(TAG, "adc read fast:\r\n");

        if (ESP_OK == adc_read_fast(adc_data, 100)) {
            for (x = 0; x < 100; x++) {
                adc_values += adc_data[x];
               // printf("%d\n", adc_data[x]);
            }
            
        }
        adc_value_average = adc_values/100;
        adc_voltage_mv1 = (adc_value_average * 1000) / 1024;
        printf("\n------------------------------------------adc_voltage_mv1 = %dmV\n",adc_voltage_mv1);
        //printf("%d\n", adc_data[x]);

        vTaskDelay(1000 / portTICK_RATE_MS);
    }
}

void app_main()
{
    // 1. init adc
    adc_config_t adc_config;

    // Depend on menuconfig->Component config->PHY->vdd33_const value
    // When measuring system voltage(ADC_READ_VDD_MODE), vdd33_const must be set to 255.
    adc_config.mode = ADC_READ_TOUT_MODE;
    adc_config.clk_div = 8; // ADC sample collection clock = 80MHz/clk_div = 10MHz
    ESP_ERROR_CHECK(adc_init(&adc_config));

    // 2. Create a adc task to read adc value
    xTaskCreate(adc_task, "adc_task", 1024, NULL, 5, NULL);
}

结果:
万用表测出的电压值:
万用表读值
ESP8266计算出来的电压值:
ESP8266计算值

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions