完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
(1) 先把kernel 目录下.config pcf8563打开,且rk808关闭 (2) dts 配置,在根节点添加rtc_pcf8563节点。 之后再在硬件接口i2c 上添加pcf8563子节点。 (3) 在rtc-lib.c 文件中按图片修改: 之后在rtc-pcf8563.c 增加待机写闹钟函数 static int pcf8563_rtc_setalarm_pwron(struct device *dev, struct rtc_time *tm) { struct i2c_client *client = to_i2c_client(dev); unsigned char buf[4]; int err; printk("enter pcf8563 rtc setalarm pwron functionrn"); /* The alarm has no seconds, round up to nearest minute */ if (tm->tm_sec) { time64_t alarm_time = rtc_tm_to_time64(tm); alarm_time += 60 - tm->tm_sec; rtc_time64_to_tm(alarm_time, tm); } dev_info(dev, "%s, min=%d hour=%d wday=%d mday=%d " , __func__, tm->tm_min, tm->tm_hour, tm->tm_wday, tm->tm_mday); //tm->tm_wday=tm->tm_wday+4; // for app set to kernel 2020-05-07 buf[0] = bin2bcd(tm->tm_min); buf[1] = bin2bcd(tm->tm_hour); buf[2] = bin2bcd(tm->tm_mday); buf[3] = (tm->tm_wday & 0x07); dev_info(dev, "%s, after min=%d hour=%d mday=%d wday=%d " , __func__, buf[0], buf[1], buf[2], buf[3]); //err = pcf8563_write_block_data(client, PCF8563_REG_AMN, 4, buf); err = pcf8563_write_block_data(client, PCF8563_REG_AMN, 3, buf); if (err) return err; printk("%s err=%d",__func__,err); return pcf8563_set_alarm_mode(client, 1); } 将上面pcf8563_rtc_setalarm_pwron函数 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
678 浏览 0 评论
920 浏览 1 评论
814 浏览 1 评论
2030 浏览 1 评论
3275 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 08:19 , Processed in 0.531635 second(s), Total 70, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号