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:无法跟踪自动生成的传感器读数的来源!

Guru**** 2395875 points
Other Parts Discussed in Thread: LM35

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/772995/tm4c123gh6pm-unable-to-track-the-origin-of-automatically-generated-sensor-readings

器件型号:TM4C123GH6PM
主题中讨论的其他器件:LM35

你好。

我正在尝试将 LM35温度传感器与 Launchpad 连接。

我一直关注互联网上提供的 Tiva Launchpad 专题讨论会文档。

由于我只能获得内部温度传感器的代码、我按照 Ralph Jacobi 的建议对其进行了修改。 这是我的代码:

#include
#include
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/debug.h"
#include "driverlib/sysctl.h"
#include "driverlib/adc.h"
int main (空)

uint32_t ui32ADC0Value[4];
volatile uint32_t ui32TempAvg;
volatile uint32_t ui32TempValueC;
volatile uint32_t ui32TempValueF;
SysCtlClockSet (SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHz);
SysCtlPeripheralEnable (SYSCTL_Periph_ADC0);
ADCSequenceConfigure (ADC0_BASE、1、ADC_TRIGGER_PROCESSOR、0);
ADCSequenceStepConfigure (ADC0_BASE、1、0、ADC_CTL_CH0);
ADCSequenceStepConfigure (ADC0_BASE、1、1、ADC_CTL_CH0);
ADCSequenceStepConfigure (ADC0_BASE、1、2、ADC_CTL_CH0);
ADCSequenceStepConfigure (ADC0_BASE、1、3、ADC_CTL_CH0|ADC_CTL_IE|ADC_CTL_END);
ADCSequenceEnable (ADC0_BASE、1);
while (1)

ADCIntClear (ADC0_BASE、1);
ADCProcessorTrigger (ADC0_BASE、1);
while (!ADCIntStatus (ADC0_BASE、1、false))


ADCSequenceDataGet (ADC0_BASE、1、ui32ADC0Value);
ui32TempAvg =(ui32ADC0Value[0]+ ui32ADC0Value[1]+ ui32ADC0Value[2]+ ui32ADC0Value[3]+ 2)/4;
ui32TempValueC =(1475 -(2475 * ui32TempAvg)/ 4096)/10;
ui32TempValueF =((ui32TempValueC * 9)+ 160)/5;

此外、我将传感器的输出引脚连接到 PE_3引脚。

但是、观察断点后、即使该引脚(PE_3)已断开连接、我也会获得读数!

我无法算出这种杂项读数的来源。 (如下屏幕截图所示)

提前感谢您!

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

    我在代码中看不到将 PE3配置为模拟输入引脚的任何位置。 您应该有以下陈述:

    SysCtlPeripheralEnable (SYSCTL_Periph_GPIOE);//启用端口 E
    GPIOPinTypeADC 的时钟(GPIO_Porte _BASE、GPIO_PIN_3); 

    如果没有这些语句、您将转换内部浮动节点上的电压。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Bob 先生、您好!
    感谢您的快速回复。
    您是否参考 PE_3?
    我添加了您建议的代码行。 但是、仍然会获得相同的读数。
    如何区分读数是来自内部温度传感器还是外部温度传感器?
    (此外、我似乎也通过从车间示例等中获取代码来迅速完成任务。。。。 如何以正确的方式开始对 tm4c123ghpm 进行编程?)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、抱歉。 我指的是 PE3。 我更正了我之前的帖子。 您是否使用了 GPIO_PIN_3?