主题中讨论的其他器件:LM35、 TM4C123GH6PM
工具/软件:Code Composer Studio
您好!
我将 LM35温度传感器与上述 Tiva Launchpad 相连。
我正在使用以下程序。
//
//
// hello.c -简单的 hello world 示例。
//
//版权所有(c) 2012-2017 Texas Instruments Incorporated。 保留所有权利。
//软件许可协议
//
//德州仪器(TI)仅提供和使用此软件
//专门用于 TI 的微控制器产品。 该软件归其所有
// TI 和/或其供应商、受适用版权保护
//法律。 您不能将此软件与"病毒"开源软件结合使用
//软件,以便形成一个更大的程序。
//
//此软件按“原样”提供,且存在所有故障。
//不作任何明示、暗示或法定的保证,包括但
//不限于对适销性和适用性的暗示保证
//此软件的特定用途。 TI 不得以任何方式进行
//情况,对特殊、偶然或从属事件负责
//任何原因造成的损害。
//
//这是 EK-TM4C123GXL 固件包版本2.1.4.178的一部分。
//
//
#include
#include
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/debug.h"
#include "driverlib/fpu.h"
#include "driverlib/gpio.h"
#include "driverlib/pin_map.h"
#include "driverlib/rom.h"
#include "driverlib/sysctl.h"
#include "driverlib/uart.h"
#include "utils/uartstdio.h"
#include "driverlib/adc.h"
#include "driverlib/rom_map.h"
#include "inc/tm4c123gh6m.h"
//
//
//! \addtogroup example_list
//!
Hello World (您好)
//!
//! 一个非常简单的``hello world '示例。 它只显示``Hello World!'"
//! 并且是更复杂应用的起点。
//!
//! UART0、连接到虚拟串行端口并在运行
//! 115、200、8-N-1用于显示来自此应用程序的消息。
//
//
//
//
//驱动程序库遇到错误时调用的错误例程。
//
//
#include
#include
#include "inc/hw_memmap.h"
#include "driverlib/adc.h"
#include "driverlib/gpio.h"
#include "driverlib/pin_map.h"
#include "driverlib/sysctl.h"
#include "inc/hw_types.h"
#include "driverlib/rom_map.h"
#include "driverlib/rom.h"
#include "inc/tm4c123gh6m.h"
#include "driverlib/debug.h"
#include "stdlib.h"
#include "inc/hw_ints.h"
#include "inc/hw_UART.h"
#include "inc/hw_gpio.h"
#include "inc/hw_pwm.h"
#include "driverlib/timer.h"
#include "driverlib/interrupt.h"
#include "driverlib/rom.h"
#include "driverlib/rom_map.h"
#include "driverlib/uart.h"
#include "driverlib/udma.h"
#include "driverlib/pwm.h"
#include "driverlib/ssi.h"
#include "driverlib/SysTick .h"
#include "driverlib/adc.h"
#include "utils/uartstdio.h"
#include "utils/uartstdio.c"
#include
内部温度;
volatile uint32_t millis = 0;
void SycTickInt(){
毫秒++;
}
void SysTickbege(){
SysTickPeriodSet (80000);
SysTickIntRegister (SysTickInt);
SysTickIntEnable();
SysTickEnable();
}
无效
InitConsole (空)
{
//
//启用用于 UART0引脚的 GPIO 端口 A。
// TODO:将其更改为您正在使用的 GPIO 端口。
//
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
//
//为端口 A0和 A1上的 UART0功能配置引脚复用。
//如果您的器件不支持引脚复用、则无需执行此步骤。
// TODO:更改此选项以选择您正在使用的端口/引脚。
//
GPIOPinConfigure (GPIO_PA0_U0RX);
GPIOPinConfigure (GPIO_PA1_U0TX);
//
//启用 UART0以便我们可以配置时钟。
//
SysCtlPeripheralEnable (SYSCTL_Periph_UART0);
//
//使用内部16MHz 振荡器作为 UART 时钟源。
//
UARTClockSourceSet (UART0_BASE、UART_CLOCK_PIOSC);
//
//为这些引脚选择替代(UART)功能。
// TODO:更改此选项以选择您正在使用的端口/引脚。
//
GPIOPinTypeUART (GPIO_Porta_base、GPIO_PIN_0 | GPIO_PIN_1);
//
//初始化控制台 I/O 的 UART
//
UARTStdioConfig (0、115200、16000000);
}
void main()
{
SysCtlClockSet (SYSCTL_SYSDIV_2_5|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHz);
SysTickbege();
InitConsole();
//
//启用 GPIOA 外设
//
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
//
//等待 GPIOA 模块准备就绪。
//
while (!SysCtlPeripheralReady (SYSCTL_Periph_GPIOA))
{
}
//
//初始化 GPIO 引脚配置。
//
//将引脚6设置为输入,软件控制。
//
GPIOPinTypeGPIOInput (GPIO_Porta_base、GPIO_PIN_6);
//
//读取一些引脚。
//
while (1)
{
temp = GPIOPinRead (GPIO_Porta_base、GPIO_PIN_6);
UARTprintf ("温度=%d\n"、temp);
SysCtlDelay (50000000);
}
}
程序编译成功。
我已将传感器的 Vout 引脚连接到 PA6引脚。
如何知道 EVM 中的哪个引脚对应于 GPIO_PIN_6?
请帮助...(PS。 甚至数据表也提供了有关 TM4C123GH6PM 的见解、而不是 EVM 的引脚)