主题中讨论的其他器件: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)已断开连接、我也会获得读数!
我无法算出这种杂项读数的来源。 (如下屏幕截图所示)
提前感谢您!