【问题标题】:PIC16 not updating ADC valuesPIC16 不更新 ADC 值
【发布时间】:2021-11-18 20:02:38
【问题描述】:

有人能帮忙解释一下为什么我的代码或设置没有更新 10K 电位器的 ADC 值吗?

我使用 MPLAB XPRESS PIC16F18877 板和 MPLAB MCC 来生成代码。复位板后电压结果只更新一次。

main.c

#include "mcc_generated_files/mcc.h"

void display_result(float v);

void main(void) {
    adc_result_t convResult = 0;
    float v = 0;

    // initialize the device
    SYSTEM_Initialize();

    ADCC_StartConversion(POT);


    while (1) {
        // Convert ADC values
        while (!ADCC_IsConversionDone());
        convResult = ADCC_GetConversionResult();
        v = convResult * 3.3 / 1023;

        // send the value to display
        display_result(v);
    }
}

void display_result(float v) {
    if (v > 1.65) {
        LED_SetHigh();
    } else {
        LED_SetLow();
    }
}

【问题讨论】:

    标签: pic adc


    【解决方案1】:

    这个问题通过调用来解决

    ADCC_StartConversion(POT);

    在 while(1) 循环中。

    【讨论】:

      猜你喜欢
      • 2023-02-12
      • 2020-11-12
      • 2010-11-05
      • 2021-11-20
      • 2015-09-10
      • 2014-09-07
      • 1970-01-01
      • 2021-08-05
      • 2023-03-10
      相关资源
      最近更新 更多