Я работаю над проектом, который интегрирует набор микросхем STM32L051R8T6, и мне нужны функции RTC для некоторых функций, таких как медленные таймеры и пробуждение в спящем режиме.Однако, если я вызываю set_time () Mbed для установки RTC, программа зависает или не выполняется должным образом.
Прежде чем что-либо реализовать, я пытаюсь запустить пример кода RTC Mbed: https://os.mbed.com/docs/mbed-os/v5.8/reference/rtc.html, но мне не повезло.RTC, кажется, устанавливается с помощью set_time (), однако, когда я вызываю время (NULL), я всегда получаю начально установленное время.Похоже, RTC не в счет.
Я компилирую код для STM32L053R8, используя онлайн-компилятор Mbed, не уверен, что эта цель сильно отличается от моей, и именно это и вызывает проблему.
Это код, который я пытаюсь выполнить:
#include "mbed.h"
int main() {
set_time(1256729737); // Set RTC time to Wed, 28 Oct 2009 11:35:37
while (true) {
time_t seconds = time(NULL);
printf("Time as seconds since January 1, 1970 = %d\n", seconds);
printf("Time as a basic string = %s", ctime(&seconds));
char buffer[32];
strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds));
printf("Time as a custom formatted string = %s", buffer);
wait(1);
}
}
Когда он не зависает, время RTC не изменяется:
Выход терминала
Любая помощь приветствуется!