版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、扩展板上面带 树莓派本身没有RTC功能,若树莓派不联网则无法从网络获取正确时间,Pioneer 600 有高精度RTC时钟DS3231芯片,可解决这个问题。 一、配置RTC 1、修改配置文件 1 sudo vi /boot/c on fig.txt 添加RTC设备ds3231 1 dtoverlay=i2c-rtc,ds3231 重启树莓派生效设置,开机后可以运行lsmod命令查看时候有rtc-1307模块。 (注:ds3231为i2c控制,故应打开树莓派I2C功能) 2、读取RTC时钟, 1 sudo hwclock 读取系统时间 1 date 3、设置RTC时间 1 sudo hwcloc
2、k-set - date= ” 2015/08/12 18:00:00” 4、更新RTC时间到系统 1 sudo hwclock -s 5、读取RTC时间及系统时间 1 sudo hwclock;date piStraspberrypl sudo hwclock -r 2Q15年03120 星期三 IT时丈分2( -0.996346 seconds p iftraspberrypidate :oo: oh 2015年 佃月12日星期三17:62:23 CST” pifrrjispbenypisudohwclock et piftraspberrypisudohwclock sudo hvclo
3、GK sudo hwclock 2015年迪月12日星期三此时00分为 2Q15牟 08月 120 星期三 17:532 pi ftraspberrypi piftraspberrypi 一一“ * 2015年胚月12日星期三1技时03分0瞅 -0. 600901 seconds 2015 08 120 星期三 18:03:08 CST piftraspbenrypi 二、编程控制 我们也可以通过I2C编程读写RTC时间,运行i2cdetect - 1命令我们可以看到下图,我们发现 ds3231的i2c地址0 x68的位置显示UU,此时ds3231作为树莓派的硬件时钟,不能通过i2c编程控制,
4、 必须将刚才配置文件中的设置注释掉才能用。 1 sudo vi /boot/co nfig.txt 找到刚才的设置,在前面加# 注释掉 1 #dtoverlay=i2c-rtc,ds3231 重启后再运行i2cdetect 1此时发现ds3231可以通过i2c编程控制 1、bcm2835 01 #in clude 02 #in clude 03 #in clude 04 05 regaddr,sec on ds, minu tes,hours,weekdays,days,m on ths,yeas 06 char buf=0 x00,0 x00,0 x00,0 x18,0 x04,0 x12,
5、0 x08,0 x15; 07 char *str =SUN,Mo n,Tues,Wed,Thur,Fri,Sat; 08 void pcf8563SetTime() 09 10 bcm2835_i2c_write(buf,8); 11 12 13 void pcf8563ReadTime() 14 15 bufO = 0 x00; 16 bcm2835_i2c_write_read_rs(buf ,1, buf,7); 17 18 18 int main (i nt argc, char *argv) 19 if (!bcm2835_i nit()return 1; bcm2835_i2c_
6、beg in(); bcm2835_i2c_setSlaveAddress(0 x68); bcm2835_i2c_set_baudrate(10000); printf(startn); pcf8563SetTime(); while(1) pcf8563ReadTime(); buf0= =buf0 sec buf1= =buf1 min buf2= =buf2 hour 21 22 23 24 25 26 27 28 29 30 31 32 33 buf3 = buf3 buf4 = buf4 buf5 = buf5 week day mouth 34 35 36 37 38 39 40
7、 41 42 43 44 45 46 year/m on th/day prin tf(20%02x/%02x/%02x ,buf6,buf5,buf4); hour:m inu te/sec ond prin tf(%02x:%02x:%02x ,buf2,buf1,buf0); weekday printf(%sn,str(unsigned char)buf3-1); bcm2835_delay(1000); bcm2835_i2c_e nd(); 47 bcm2835_close(); 48 49 return 0; 50 v/bcm2835.h 编译并执行 1 gcc -Wall ds
8、3231.c ds3231 Tbcm2835 2 sudo ./ds3231 suda . /ds3231 00:01 00:02 00:rJ 00:4 piftraspbemrypi start 2015/08/12 2015/08/12 2015/08/12 2015/08/12 2015/08/12 2015/08/12 2015/08/12 2015/03/12 18; 00:00 恥 d 18 18 18 IS 18:00:05 18 13 00; 06 Wed 00:07 恥d 2、python 01 #!/usr/bi n/python 02 # -*- coding: utf-
9、8 -*- 03 import smbus 04 import time 05 06 address = 0 x68 07 register = 0 x00 08 #sec min hour week day mout year 09 NowTime = 0 x00,0 x00,0 x18,0 x04,0 x12,0 x08,0 x15 10 w = SUN,Mo n,Tues,Wed,Thur,Fri,Sat; 11 #/dev/i2c-1 12 bus = smbus.SMBus(1) 13 def ds3231SetTime(): 14 bus.write_i2c_block_data(address,register,NowTime) 16 def ds3231ReadTime(): 17 return bus.read2c_block_data(address,register,7); 18 19 ds3231SetTime(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 磁共振宫外孕课件
- 短期与长期成本
- 盗窃课件教学课件
- 2026年公共关系策略与实务操作题库
- 2026年营养师职业资格健康饮食搭配原则实战模拟题
- 2026年法律专业考试题集民法典解读
- 2026年智能云计算AI与云服务器的融合技术面试题库
- 2026年国际商务英语沟通与写作技能认证题库
- 2026年政务信息化管理效能评价试题集
- 2026年人力资源专员工具箱面试题库与评分表详解
- 2026年度黑龙江省交通运输厅所属事业单位公开招聘工作人员86人备考题库及参考答案详解(新)
- GB/T 32150-2025工业企业温室气体排放核算和报告通则
- 贵州省贵阳市南明区2025-2026学年度第一学期期末测评参考卷八年级历史试题(原卷版+解析版)
- 2025四川数据集团有限公司第四批员工招聘5人参考题库含答案解析(夺冠)
- 数字孪生技术服务协议2025
- 急性胰腺炎饮食护理方案
- 10kV配电室施工现场应急预案及措施
- 基于51单片机的智能停车场管理系统设计
- 成人高尿酸血症与痛风食养指南(2024年版)
- 汽机专业安全管理制度
- 电三轮科目一试题及答案
评论
0/150
提交评论