RTC实时时钟
来源:互联网 发布:大数据对学生的影响 编辑:程序博客网 时间:2024/06/11 21:08
系统在断电后 需要RTC电池计时间并在系统启动后 将这个时间给到系统时间。以此维护系统断电后与现实时间同步
一般RTC电池需要3V的电压 若经过扩展板连接 需要测量此电压是否给到主控芯片
然后date命令可以查看系统时间 date -s “2008-08-08 12:00:00”
可以通过这个命令修改系统时间与现实时间一致
如果设备上有hwclock这个命令 可以通过此命令修改和查看rtc时间
若没有这个命令 可以利用工具查看
#include <stdio.h>#include <stdlib.h>#include <linux/rtc.h>#include <sys/ioctl.h>#include <sys/time.h>#include <sys/types.h>#include <fcntl.h>#include <unistd.h>#include <errno.h>#include <time.h>int main(int argc, char *argv[]){ int fd, retval; struct rtc_time rtc_tm; time_t timep; struct tm *p; fd = open(argv[1], O_RDONLY); if (fd == -1) { fprintf(stderr, "Usage:%s /dev/rtc..\n",argv[0]); exit(errno); } /* Read the RTC time/date */ retval = ioctl(fd, RTC_RD_TIME, &rtc_tm); if (retval == -1) { perror("ioctl"); exit(errno); } close(fd); fprintf(stderr, "RTC date/time: %d/%d/%d %02d:%02d:%02d\n", rtc_tm.tm_mday, rtc_tm.tm_mon + 1, rtc_tm.tm_year + 1900, rtc_tm.tm_hour, rtc_tm.tm_min, rtc_tm.tm_sec); time(&timep); p = gmtime(&timep); fprintf(stderr, "OS date/time(UTC): %d/%d/%d %02d:%02d:%02d\n", p->tm_mday, p->tm_mon + 1, p->tm_year + 1900, p->tm_hour, p->tm_min, p->tm_sec); p = localtime(&timep); fprintf(stderr, "OS date/time(Local): %d/%d/%d %02d:%02d:%02d\n", p->tm_mday, p->tm_mon + 1, p->tm_year + 1900, p->tm_hour, p->tm_min, p->tm_sec); return 0;}
这个是在网上找到的http://blog.csdn.net/u010703935/article/details/11728091
当然输入需要根据实际设备中rtc名称 其次这个其实我没用到 因为会提示ioctl不能用
阅读全文
0 0
- 实时时钟RTC实验
- S3C2440 实时时钟RTC
- 实时时钟RTC
- LPC1768 -- RTC实时时钟
- 实时时钟RTC
- 实时时钟RTC
- rtc实时时钟
- RTC实时时钟芯片
- RTC实时时钟驱动
- RTC实时时钟驱动
- RTC实时时钟
- RTC实时时钟驱动
- RTC实时时钟驱动
- RTC 实时时钟
- RTC实时时钟驱动
- RTC实时时钟驱动
- 转 rtc 实时时钟
- RTC实时时钟
- 关于项目思路的小计(随笔)
- iOS 进阶必读
- elasticsearch入门使用
- javascript 虚拟代理模式实现图片预加载功能
- 字符编码ASCII、Unicode、UTF-8的比较
- RTC实时时钟
- LruCache的用法及分析
- 常用链接记录
- java虚拟机之gc
- 第九章:字符串、字符和字节
- 'utf8' codec can't decode byte 0xd0 in position 0:unexpected end byte
- Java中Json字符串直接转换为对象(包括多层List集合 嵌套)
- GPS坐标转换(JS)
- Android中GreenDao的简单使用