中職擴展資源包資料樹莓派系列教程16RTC_第1頁
中職擴展資源包資料樹莓派系列教程16RTC_第2頁
中職擴展資源包資料樹莓派系列教程16RTC_第3頁
中職擴展資源包資料樹莓派系列教程16RTC_第4頁
中職擴展資源包資料樹莓派系列教程16RTC_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、旗開得勝Pioneer 600擴展板上面帶樹莓派本身沒有RTC功能,若樹莓派不聯(lián)網則無法從網絡獲取正確時間,有高精度RTC時鐘DS3231芯片,可解決這個問題。一、配置RTC1、修改配置文件sudo vi /boot/co nfig.txt添加RTC設備ds3231dtoverlay=i2c-rtc,ds3231重啟樹莓派生效設置,開機后可以運行l(wèi)smod命令查看時候有rtc-1307 模塊。(注:ds3231為i2c控制,故應打開樹莓派I2C功能)2、讀取RTC時鐘,sudo hwclock 讀取系統(tǒng)時間date3、設置RTC時間sudo hwclock-setdate= ” 2015/08

2、/12 18:00:004、更新RTC時間到系統(tǒng)1 sudo hwclock -s5、讀取RTC時間及系統(tǒng)時間1 sudo hwclock-r;datesudo hwclock -r星期三lY時52分劉秒-0. 996845 seconds _ _ date:二二 :52:23 CSTsudo hwc 1 ock -set da5udo hwclock FP iftraspberrypi2015年08月12日piftraspberrypi2015年0*月120星.朝三1心P iaspberrypi piftcaspberrypi 茨15年觀月120星期三1劉寸00分1 2015年08月12日皇

3、朝三17:53;piftraspberrypipiftraspberrypi2015年0呂月匹日星期三180.03分茨秒-0. 500901 seconds 戈015年 呢月120星期三12:03:08 CSTpiftraspberrypi5UdQ htvcloc sudo Iwclock 于FIB土00:00二、編程控制我們也可以通過I2C編程讀寫RTC時間,運行i2cdetect - 1命令我們可以看到下圖,我們發(fā)現(xiàn)ds3231的i2c地址0x68的位置顯示UU,此時ds3231作為樹莓派的硬件時鐘,不能通過i2c編程控制,必須將剛才配置文件中的設置注釋掉才能用。pzfc-aspberTy

4、pxiScdctect -y 10 123 4 5 e 3 勺00:10:20:30:40:50:60:70:2077P ifcaspbcLiiVpx1 sudo vi /boot/co nfig.txt*3讀萬卷書行萬里路旗開得勝找到剛才的設置,在前面加# 注釋掉1 #dtoverlay=i2c-rtc,ds323120 6#*讀萬卷書行萬里路重啟后再運行i2cdetect-1此時發(fā)現(xiàn)ds3231可以通過i2c編程控制i2cd)etect4 5 6 7-y 1S 9 a00:10:20:30;40:50:60:70: pi ftrawb 巴rr vpi上日尸:貧今宀&8 -?71、bcm28

5、3501 #in clude 02 #in clude 03 #in clude 0405 regaddr,sec on ds, minu tes,hours,weekdays,days,m on ths,yeas06 char buf=0x00,0x00,0x00,0x18,0x04,0x12,0x08,0x15;07 char *str=SUN,Mo rr,Tues,Wed,Thur,Fri,Sat;08 void p cf8563SetTime()09 10 bcm2835_i2c_write(buf,8);11 1213 void p cf8563ReadTime()14 15 buf

6、O = 0x00;16 bcm2835_i2c_write_read_rs(buf ,1, buf,7);17 1819 int main (i nt argc, char *argv)旗開得勝21if (!bcm2835_i nit()retum 1;10#*讀萬卷書行萬里路22bcm2835_i2c_beg in();2324bcm2835_i2c_setSlaveAddress(0x68);bcm2835_i2c_set_baudrate(10000);25printf(startn);2627p cf8563SetTime();28while(1)2930p cf8563ReadTim

7、e();31buf0 = buf0&0x7F;sec32buf1 = buf1&0x7F;min33buf2 = buf2&0x3F;hour34buf3 = buf3&0 x07;week35buf4 = buf4&0x3F;day36buf5 = buf5&0 x1F;mouth37year/m on th/day38prin tf(20%02x/%02x/%02x,buf6,buf5,buf4);39hour:m inu te/sec ond40prin tf(%02x:%02x:%02x,buf2,buf1,buf0);41weekday42prin tf(%sn,str(u nsig

8、 ned char)buf3-1);43bcm2835_delay(1000);444546bcm2835_i2c_e nd();旗開得勝47 bcm2835_close();4849 return 0;50 v/u ni std.hx/stdio.hx/bcm2835.h-bcm2835編譯并執(zhí)行1 gcc -Wall ds3231.c- ds32312 sudo ./ds323112讀萬卷書行萬里路piftraspberrypi start2015/08/122015/0/122015/0S/122015/08/122015/08/122015/OS/122015/0S/122015/08

9、/12sudo . /d5323118:0018:001S:001S:0018:0018:001S:001S:00000102OE0607WedVJed2、python01 #!/usr/bi n/python02 # -*- codi ng: utf-8 -*-旗開得勝03 import smbus04 import time0506 address = 0x6807 register = 0x0008 #sec min hour week day mout year09 NowTime = 0x00,0x00,0x18,0x04,0x12,0x08,0x1510 w = SUN,Mo rr

10、,Tues,Wed,Thur,Fri,Sat;11 #/dev/i2c-112 bus = smbus.SMBus(1)13 def ds3231SetTime():14 bus.write_i2c_block_data(address,register,NowTime)16 def ds3231ReadTime():17 return bus.read_i2c_block_data(address,register,7);1819 ds3231SetTime()20 while 1:15#*讀萬卷書行萬里路21t = ds3231ReadTime()22t0 = t0&0x7F#sec23t1 = t1&0x7F#min24t2 = t2&0x3F#hour25t3 = t3&0x07#week26t4 = t4&0x3F#day27t5 = t5&0x仆#mouthprin t(20%x/%x/%x %x:%x:%x%s %(t6,t5,t4,t2,t1,t0,wt3旗開得勝16Q讀萬卷書行萬里路8 卜1)29 time.slee p(1)執(zhí)行程序1 sudo P ytho n ds3231. pypiftFClSpt2015/g/12201E/g/12201E/g/12201E/g/12 加1刃只/I戈2O1E/E/122O1E/E/12二Tr冇Q亡

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論