Я пытаюсь установить время RTC на STM32L051T6
микроконтроллером, используя epoch
раз. Итак, мой код.Почему функция gmtime() возвращает NULL?
void Rtc_SetTime(uint32_t time_)
{
struct tm* brokenTime;
const time_t temp = 3600;
brokenTime = gmtime(&temp);
if (NULL == brokenTime)
{
printf("Error: Failed to convert time.\r\n");
}
}
Когда я вызываю функцию выше. Он всегда идет в if
и выводит сообщение об ошибке. Я пробовал передавать значения 3600, 1459841178 в качестве аргументов. Все не удается. Что не так с кодом?
Не могли бы вы назвать 'perror' в заявлении else, чтобы узнать, что произошло? – purplepsycho
Вы уверены, что 'TIME_T' является допустимым' time_t' var? – LPs
Удалить бросок. Если вы получаете предупреждение/ошибку компилятора, это означает, что код был неправильным все время. Вам необходимо исправить код, а не подавлять предупреждение. –