This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C123GH6PM:TM4C123 ADC 值错误

Guru**** 2380860 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/730884/tm4c123gh6pm-tm4c123-adc-wrong-value

器件型号:TM4C123GH6PM

大家好、我也是。

我正在尝试读取 Tiva 上的 ADC 值。 VOM 中显示的值为3V、但 Tiva 上的 ADC 返回了3731、这意味着3731 *(3/4096)=2.7V  

我也尝试过 ADC0和 ADC1、但它仍然显示错误的值。

下面是我的简单代码:  

#include 
#include 
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/debug.h"
#include "driverlib/sysctl.h"
#include "driverlib/adc.h"
#include "driverlib/syssctl.h"

#include "driverlib/syscltl








(volatile s32_ipt1) intrat_sys_ipt1 (volt_iptl);#include "sys_ipt1 inctl (us_ipt_ipt_ipt1) void (volatile r_ipt_ipt_ipt_ipt1) GPIO_PIN_0);
ADCSequenceConfigure (ADC1_BASE、1、ADC_TRIGGER_PROCESSOR、0);
ADCSequenceStepConfigure (ADC1_BASE、1、0、ADC_CTL_CH3);
ADCSequenceStepConfigure (ADC1_BASE、 1、1、ADC_CTL_CH3);
ADCSequenceStepConfigure (ADC1_BASE、1、 2、ADC_CTL_CH3);
ADCSequenceStepConfigure (ADC1_BASE、1、3、 ADC_CTL_CH3|ADC_CTL_IE|ADC_CTL_END);
ADCSequenceEnable (ADC1_BASE、1);

//TimerLoadSet (TIMER0_BASE、TIMER_Both、1000);
//TimerControlTrigger (TIMER0_BASE、TIMER_Both、TRUE);
//TimerEnable (TIMER0_BASE、TIMER_Both);
while (1)
{
ADCIntClear (ADC1_BASE、 1);
ADCProcessorTrigger (ADC1_base、1);
while (!ADCIntStatus (ADC1_base、1、 false)
}{}
ADCSequenceDataGet (ADC1_base、1、ui32ADC0Value);
ui32Avg =(ui32ADC0Value[0]+ ui32ADC0Value[1]+ ui32ADC0Value[2]+ ui32ADC0Value[3])/4;

}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的源阻抗是多少? (源极和模拟输入引脚之间是否有电阻器?)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是我的原理图。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好 Bob。

    内部电压基准为3.3V、而不是3V、因此3732 *(3.3 / 4096)= 3V
    很抱歉、我读了 Luis 的教程、他说电压基准为3V。

    总之、非常感谢。