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.

[参考译文] TM4C1294NCPDT:RTC 配置

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1462812/tm4c1294ncpdt-rtc-configuration

器件型号:TM4C1294NCPDT

工具与软件:

空洞
应用 RTC (空)

uint32_t ui32Status;
struct tm Stime;

//
//将缓冲区打印到终端。
//
UARTprintf ("要唤醒、等待5秒或按 WAKE 或"
"重置\n");
UARTprintf ("有关其他唤醒源、请参阅 readme.txt。\n");

//
//等待 UART 传输完成、然后再继续
//休眠。
//
UARTFlushTx (false);

//
//将日历匹配值设置为从当前时间开始的5秒。
//
GetCalendarMatchValue(&S);

//
//设置日历匹配寄存器、使其从中唤醒
// 5秒内休眠。
//
MAP_HibernateCalendarMatchSet (0、&Stime);

//
//读取并清除此后可能设置的任何状态位
//最后清除它们。
//
ui32Status = HibernateIntStatus (0);
MAP_HibernateIntClear (ui32Status);

//
//配置休眠唤醒源。
//
MAP_HibernateWakeSet (HIBERNATE_WAKE_PIN | HIBERNATE_WAKE_GPIO |
HIBERNATE_WAKE_RESET | HIBERNATE_WAKE_RTC);

//
//请求休眠。
//
Map_HibernateRequest ();

//
//等待一段时间休眠激活。 它应该永远不会得到
//通过这一点。
//
SysCtlDelay (100);

//
//如果它出现在这里,存储文本,通知用户打开
//如何操作、进入各自的小工具缓冲区。
//
UARTprintf ("控制器未进入休眠状态。 按下复位"
"用于重新启动示例的按钮。\n");

//
//等待。
//
while (1)

}
}







这部分代码不会获取当前日期和时间... 如何改变它?

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

    您好!

    此部分代码不是获取当前日期和时间... 该如何改变?[/报价]

    这话什么意思? 您的意思是、它从如下所示的默认2013年开始吗?

    原因是调用 DateTimeDefaultSet()时、代码将默认时间设置为2013。  

    //*****************************************************************************
    //
    // This function sets the time to the default system time.
    //
    //*****************************************************************************
    void
    DateTimeDefaultSet(void)
    {
    g_ui32MonthIdx = 7;
    g_ui32DayIdx = 29;
    g_ui32YearIdx = 13;
    g_ui32HourIdx = 8;
    g_ui32MinIdx = 30;

    }

    您可以对其进行更改。 请参阅以下命令选项以输入当前日期和时间。