请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:EK-LM4F120XL Thread 中讨论的其他器件: EK-TM4C123GXL
您好!
我正在尝试在 EK-LM4F120XL 上实现简单的功能 。 基本上、该器件必须进入休眠回路、在唤醒时、它应点亮蓝色红色、并将当前温度值从处理器的传感器传递到 UART。 使用下面的代码、我描述的功能会在不确定的时间内工作、但会暂停。 无 LED 照明或 UART 侧无输出。 如果您能查看我的代码并告诉我缺少什么、我会非常高兴。 谢谢!
#include #include include "utils/ustdlib.h" #include "inc/hw_types.h" #include "inc/hw_memmap.h" #include "inc/hw_gpio.h" #include "driverlib/syssctl.h" #include "driverlib/pin_map.h" #include "driverlib/debug.idio" #include "driverlib.idio.idio" #include "driverlib.idio.h #include "#driverlib"#driverlib.idio.ide"#include "driver.h"#include "driverlib.udio.idio.ide"#include "driverlib.idio.ide"#include "#include "#include "#driverlib.ude.h.udio.ide"#include "#.idio.ide"#include "# // //启用 UART 使用的 GPIO 外设。 // SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA); // //启用 UART0 // SysCtlPeripheralEnable (SYSCTL_Periph_UART0); // //为 UART 模式配置 GPIO 引脚。 // GPIOPinConfigure (GPIO_PA0_U0RX); GPIOPinConfigure (GPIO_PA1_U0TX); GPIOPinTypeUART (GPIO_Porta_base、GPIO_PIN_0 | GPIO_PIN_1); // //使用内部16MHz 振荡器作为 UART 时钟源。 // UARTClockSourceSet (UART0_BASE、UART_CLOCK_PIOSC); // //初始化控制台 I/O 的 UART // UARTStdioConfig (0、115200、16000000); } int main (void) { uint32_t ui32ADC0Value[4]; volatile uint32_t ui32TempAvg; volatile uint32_t ui32TempValueC; 易失性 uint32_t ui32TempValueF; SysCtlPeripheralEnable (SYSCTL_Periph_HIBERNATE); if (HibernateIsActive()){ HibernateGPIORetentionDisable (); } FPULazyStackingEnable (); ExpCtlClockSet (SYSCTL_5|SYSCTAL_USE_PLL|SYSCTL_XMHZ); SysCtl_SysClockett (SysCltl);SysClocket_Ontl (SysClet_Ontl)(SysClet_Ontl) HibernateGPIORetentionEnable(); HibernateRTCEnable(); HibernateRTCSet (0); HibernateRTCMatchSet (0,5); HibernateWakeSet (HIBERNATE_WAKE_PIN| HIBERNATE_WAKE_RTC); GPIOPinTypeGPIOOutput (GPIO_PORTF_BASE、GPIO_PIN_2); //添加 了 SysCtlPeripheralEnable (SYSCTL_Periph_ADC0); ADCSequenceConfigure (ADC0_BASE、1、ADC_TRIGGER_PROCESSOR、0); ADCSequenceStepConfigure (ADC0_BASE、1、0、ADC_CTL_TS); ADCSequenceStepConfigure (ADC0_BASE、1、1、ADC_CTL_TS); ADCSequenceStepConfigure (ADC0_BASE、1、2、ADC_CTL_TS); ADCSequenceStepConfigure (ADC0_BASE、1、3、ADC_CTL_TS|ADC_CTL_IE|ADC_CTL_END); ADCSequenceEnable (ADC0_BASE、1); //结束添加 // //初始化 UART。 // ConfigureUART(); // //您好! // //UARTprintf ("Hello、world!\n"); GPIOPinWrite (GPIO_PORTF_BASE、GPIO_PIN_2、GPIO_PIN_2); // //延迟一位。 // //SysCtlDelay (SysCtlClockGet ()/ 10 / 3); // //关闭蓝色 LED。 // //GPIOPinWrite (GPIO_PORTF_BASE、GPIO_PIN_2、0); // //延迟一位。 // //SysCtlDelay (SysCtlClockGet ()/ 10 / 3); //添加 了 ADCIntClear (ADC0_BASE、1); ADC26ProcessorTrigger (ADC0_BASE、1); while (!ADCIntStatus (ADC0_BASE、1、false) { } ADCSequenceDataGet (ADC0_BASE、1、ui32ADC0Value); ui32Avg =(u32ADC0Ctl[0]+ u324096 ) + UART3220C (u32UART3+ U32UUUUUUUUU406U406U406U406U406U406U406U406Ut)(UART32U32U32U406U406U406U406U406U405+ U32C)+ U32U32U32U406U32U32U406U406U406U406U32U406U406U32U32U406U406U406U406U406U406U406U406U406U405+U405+U402U405 GPIOPinWrite (GPIO_PORTF_BASE、GPIO_PIN_2、0); //添加了 End HibernateRequest (); while (1) { }