战舰V3 想使用localtime来获取时间,出现错误,麻烦大神阅贴指点一二。十分感谢!!!

2019-08-17 05:00发布

本帖最后由 浪矢杂货 于 2017-6-27 22:52 编辑

看了 yangzhao0001的CSDN博客http://blog.csdn.net/yangzhao0001/article/details/49385583介绍
C语言localtime()函数:获取当前时间和日期并转换为本地时间
头文件:#include <time.h>
定义函数:struct tm *localtime(const time_t * timep);
函数说明:localtime()将参数timep 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm 返回。结构tm 的定义请参考gmtime()。此函数返回的时间日期已经转换成当地时区。
返回值:返回结构tm 代表目前的当地时间。

范例#include <time.h>
main()
{   
char *wday[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};   
time_t timep;   
struct tm *p;   
time(&timep);   
p = localtime(&timep); //取得当地时间   
printf ("%d%d%d ", (1900+p->tm_year), (l+p->tm_mon), p->tm_mday);   
printf("%s%d:%d:%d ", wday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec);
}


直接在实验8定时器中断实验套用这个方法#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"
#include "time.h"


int main(void)
{  
char *wday[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
time_t timep;
struct tm *p;
delay_init();      

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
uart_init(115200);  
  LED_Init();        
TIM3_Int_Init(4999,7199;
time(&timep);
p = localtime(&timep);

printf ("%d%d%d ", (1900+p->tm_year), (1+p->tm_mon), p->tm_mday);
printf("%s%d:%d:%d ", wday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec);
    while(1)
{
  LED0=!LED0;
  delay_ms(200);  
}  
}  
编译出现错误..OBJTIMER.axf: Error: L6915E: Library reports error: __use_no_semihosting was requested, but time was referenced
实在能力有限,解决不了这个问题,请教原子哥和各位大神,十分感谢!!!


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。