我试图使用STM32L051T6时间在epoch微控制器上设置RTC时间。下面是我的代码。

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语句并打印错误。我尝试过将值36001459841178作为参数传递。一切都失败了。密码怎么了?

最佳答案

我在这里发现了以下内容:
http://support.raisonance.com/content/gmtime-and-localtime-broken-arm-gcc-lib
所以可能无法实施。。。。
我认为gmtime和localtime在arm gcc库中对于STM32F10x是断开的。
我在keil uVision试过了,在那里工作得很好(不管怎样是当地时间,
gmtime未在keil中实现)。gmtime和localtime正在搜索
_连接时使用sbrk。
“sbrkr.c:(.text+0xc):未定义对`_sbrk'的引用”

08-16 09:44