完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在MDK中利用google SVN下的源代码,编译BSP/STM3210中的工程,并且增加了TFT液晶屏驱动,目前想在TFT 液晶屏显示 RTC时钟。
使用RT-Thread中的RTC.c驱动。有些疑问如下: 1. RTC.C中使用了“ localtime(&now);”函数获取本地时间,这个本地时间在嵌入式系统中是从哪里获取的呢? 2. 代码中有“ti->tm_year = year - 1900; ”,目前我按照YYYY/M M/DD格式传递日期参数。传递过来2010年,相减以后成为“110”。是否正确?是否要改成“ti->tm_year = year - 2000; ”? void set_date(rt_uint32_t year, rt_uint32_t month, rt_uint32_t day) { time_t now; struct tm* ti; rt_device_t device; ti = RT_NULL; /* get current time */ time(&now); ti = localtime(&now); if (ti != RT_NULL) { ti->tm_year = year - 1900; ti->tm_mon = month - 1; /* ti->tm_mon = month; */ ti->tm_mday = day; } now = mktime(ti); device = rt_device_find("rtc"); if (device != RT_NULL) { rt_rtc_control(device, RT_DEVICE_CTRL_RTC_SET_TIME, &now); } } 3. 在程序任务中调用RTC.C中的函数time_t time(time_t* t),这个函数返回的值是一个unsigned int 类型,这类型是否包含了年月日,时分秒信息? 假如是,格式是怎么样的? 我在任务中调用Set_time() set_data()函数设定参数以后,再调用time()函数返回的值不是预期的值。 |
|
相关推荐
3个回答
|
|
|
|
|
|
RTC.C中使用了“ localtime(&now);”函数获取本地时间,这个本地时间在嵌入式系统中是从哪里获取的呢?
time_t now; /* get current time */ time(&now); 从硬件RTC中得到当前时间(UNIX时间戳). ti->tm_year = year - 1900; UNIX时间戳是从1900年开始计数的. 3. 在程序任务中调用RTC.C中的函数time_t time(time_t* t),这个函数返回的值是一个unsigned int 类型,这类型是否包含了年月日,时分秒信息? 假如是,格式是怎么样的? 请查阅 "UNIX时间戳" |
|
|
|
我在任务中调用Set_time() set_data()函数设定参数以后,再调用time()函数返回的值不是预期的值。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2328 浏览 0 评论
2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
20178 浏览 11 评论
2628 浏览 0 评论
IaaS+on+DPU(IoD)+下一代高性能算力底座技术白皮书
4037 浏览 0 评论
飞凌嵌入式-ELFBOARD 常用的USB接口及其不同版本介绍第1期
1315 浏览 0 评论
69770 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-6 16:21 , Processed in 0.623286 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号