【发布时间】: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();
}
}
【问题讨论】: