Ich versuche, RTC-Zeit auf STM32L051T6
Mikrocontroller mit epoch
Zeit einzustellen. Also folgt mein Code.Warum gibt die Funktion gmtime() NULL zurück?
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");
}
}
Wenn ich oben Funktion aufrufen. Es geht immer auf if
Anweisung und druckt Fehler. Ich habe versucht, die Werte 3600, 1459841178 als Argumente zu übergeben. Alles schlägt fehl. Was ist falsch an dem Code?
Könnten Sie 'perror' in else aussagen, um zu wissen, was passiert ist? – purplepsycho
Sind Sie sicher, dass 'TIME_T' eine gültige' time_t' var ist? – LPs
Entfernen Sie die Besetzung. Wenn Sie eine Compilerwarnung erhalten, bedeutet das, dass der Code die ganze Zeit falsch war. Sie müssen den Code beheben, nicht die Warnung unterdrücken. –