完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这一节要说的是RTC类的使用,请先在https://github.com/tjCFeng/ClassA20下载ClassA20类库。 RTC,实时时钟控制,如果有备份电池的存在,那么在系统关机断电后时间是不丢失的,并且还在走时。开机后可以直接读取出当前值,并设置为系统时间,这也是嵌入式开发中常常用到的东西。不过由于有了网络的介入,为了节省成本,一般也就使用网络的时间同步功能而忽略RTC了。不过在某些场合下还是可能会用到。 RTC中一般会分为两个部分:一是日期时间的设置和读取,二是闹钟的设置和中断响应。不过目前暂没有实现中断,所以闹钟功能没有添加。 RTC自成一体,不再需要连接其他外部设备就可以展示出来,所以本节完全由程序实现使用过程。但是由于香蕉派的电源管理部分可能有一些小问题,造成断电后备份电池掉电很快,所以我目前尝试的结果只实现了对备份电池的充电,而设置时间值再关机开机后仍然不能正确读出时间,所以这里只作为参考,如果真正需要使用断电走时的话,还是外接个其他芯片吧。 还是先打开RTC.pas来看一下类: 系统中只有一个RTC单元的存在,所以它理所当然的是个单例类,而且目前只用它来设置和读取时间值,只用到最后一个public里的Datetime属性就够了。 这个DateTime是TYMDHNSW类型,TYMDHNSW是一个结构体,为方便起见,我没有使用pascal自带的TDateTime类,也没有使用操作系统提供的类型,减少系统的依赖性。 界面设置: 两个Button,一个读取一个设置,其他的组件用于显示和输入日期时间,简单明了。不过有一点需要说明,Lazarus上居然没有DateTimePicker,只有Date的,没有Time的,这点可不如Delphi了。 |
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 06:20 , Processed in 0.659132 second(s), Total 72, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号