有人能帮助解释为什么我的代码或设置不更新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();
}
}
发布于 2021-09-26 15:06:16
这个问题可以通过调用
ADCC_StartConversion(POT);
在while(1)循环中。
https://stackoverflow.com/questions/69333598
复制相似问题