版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第30课《系统安全需升级》测试题2025-2026学年人教版八年级信息科技全一册
- 《GB-T 24438.3-2012自然灾害灾情统计 第3部分:分层随机抽样统计方法》专题研究报告
- 《GBT 21595-2008 危险品便携式罐体撞击试验方法》专题研究报告
- 《GBT 14993-2008转动部件用高温合金热轧棒材》专题研究报告
- 《GB 4706.85-2008家用和类似用途电器的安全 紫外线和红外线辐射皮肤器具的特殊要求》专题研究报告
- 道路危险运输安全培训课件
- 道路交通安全培训素材课件
- 道路交通培训课件
- 2025-2026年苏教版八年级语文上册期末题库试题附答案
- 迪奥项链介绍
- 2025届高考语文一轮复习:二元思辨类作文思辨关系高阶思维
- 预制混凝土构件质量控制
- 德佑房屋买卖合同
- 健康管理方案设计案例分析
- 2024高考英语应用文写作真题手把手:2023全国乙卷素材
- 玻璃加工公司管理制度
- 七年级数学一元一次方程应用题复习题及答案
- 储能电站检修规程
- 离婚冷静期制度的构建与完善
- 外挂钢楼梯专项施工方案
- 企业尽职调查内容提纲-中英文对照
评论
0/150
提交评论