imx6ul+rtc使用
来源:互联网 发布:matlab 生成复杂网络 编辑:程序博客网 时间:2024/06/06 07:05
Source-lib外设库第五弹;
现在看网上最多设置rtc事件是用date命令和hwclock命令来设置;
现在我们用c来写:
这次主函数真的超级简单,初始化rtc时间,然后释放rtc。
编译运行下,等会咱们再来看代码;
老规矩先安装库:
运行程序:
没有报错;
执行命令查看下rtc的时间是否更新对:
什么情况怎么多l一个月。
这段代码没有问题,再看下set_rtc_time函数:
这段代码验证了下也没有问题;
查看内核代码后发现问题:
修改代码:
最后编译测试问题解决,效果如下:
现在看网上最多设置rtc事件是用date命令和hwclock命令来设置;
现在我们用c来写:
#include "so_lib.h"
#include "bsp_rtc.h"
int main(int argc, char** argv)
{
int dev_fd;
dev_fd = rtc_init_time("2017-11-30 21:20:00");
rtc_deinit(dev_fd);
return 0;
}
编译运行下,等会咱们再来看代码;
老规矩先安装库:
install --mode=644 libslhl.so /usr/local/lib/
install --mode=644 libslbsp.so /usr/local/lib/
./source-rtc_test
执行命令查看下rtc的时间是否更新对:
hwclock -r
什么情况怎么多l一个月。
EXPORT int rtc_init_time(const char *dt)
{
int dev_fd = -1;
dev_fd = open_hardware(RTC_PATH, O_RDWR | O_NONBLOCK);
if (dev_fd == -1)
return -1;
if (set_rtc_time(dev_fd, dt) == -1)
return -1;
return dev_fd;
}
/*
使用方法:char *dt = "2017-11-30 18:59:00"
*/
EXPORT int set_rtc_time(int dev_fd, const char *dt)
{
struct rtc_time rtc_tm;
int ret = sscanf(dt, "%d-%d-%d %d:%d:%d", &rtc_tm.tm_year, &rtc_tm.tm_mon, \
&rtc_tm.tm_mday, &rtc_tm.tm_hour, \
&rtc_tm.tm_min, &rtc_tm.tm_sec);
if (ret != 6) {
ERR("Time not match");
return -1;
}
ret = ioctl(dev_fd, RTC_SET_TIME, &rtc_tm);
if (ret == -1) {
ERR("ioctl RTC_RD_TIME");
}
return ret;
}
查看内核代码后发现问题:
mon = rtc_tm.tm_mon + 1; tm_mon starts at zero
修改代码:
EXPORT int set_rtc_time(int dev_fd, const char *dt)
{
struct rtc_time rtc_tm;
int ret = sscanf(dt, "%d-%d-%d %d:%d:%d", &rtc_tm.tm_year, &rtc_tm.tm_mon, \
&rtc_tm.tm_mday, &rtc_tm.tm_hour, \
&rtc_tm.tm_min, &rtc_tm.tm_sec);
if (ret != 6) {
ERR("Time not match");
return -1;
}
rtc_tm.tm_mon -= 1;
ret = ioctl(dev_fd, RTC_SET_TIME, &rtc_tm);
if (ret == -1) {
ERR("ioctl RTC_RD_TIME");
}
return ret;
}
阅读全文
0 0
- imx6ul+rtc使用
- imx6ul+获取rtc时间
- imx6ul+spi使用
- imx6ul+uart使用
- imx6ul+i2c使用
- imx6ul+can使用
- rtc hwclock 使用
- rtc hwclock 使用
- STM32F4 RTC的使用
- 使用RTC调用WebService
- STM32F4 RTC【使用库函数】
- STM32F4 RTC的使用
- STM32L152 RTC 使用
- 【IMX6UL开发板试用体验】上手试用与资源使用
- rtc hwclock 使用(转)
- ARM-RTC的简单使用
- gd32的rtc使用心得
- 实时时钟 -- “RTC”的使用
- 【云周刊】第148期:“盲人摸象、感而不动、雾里看花”,阿里闵万里谈城市大脑三大挑战
- 如何从生活中领悟设计模式
- Microsoft 时序分析
- leetcode 206[easy]-Reverse Linked List
- MaxCompute助力ofo实现精细化运营:日订单超3200万、整体运行效率提升76%
- imx6ul+rtc使用
- 0基础新手入门linux系统的四个建议
- 学习Linux C编程之进程间通信(二)
- 找不到包:javax.servlet.annotation.WebServlet
- csdn知识库 以及 50 个完整的 React Native 项目
- Chrome浏览器调试
- 【十八掌●武功篇】第十六掌:Spark之简介、安装、Demo
- Java商户发送微信红包给用户
- C++——算24(不改变4个数顺序,能否得到24)