我试图使用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'的引用”