难道ADDR这个引脚不接 直接像下面一样接法??
另外,他也给我说了,“用官方最新的系统(2013-02-09-wheezy-raspbian.zip),已经带i2c了,不用再升级内核,其他的就是只要线结对了。芯片没问题,就OK了”。这是原话。
好了,进入正题:
接线方式
GND----GPIO2-3
VCC----GPIO1-1
SCL----GPIO1-3
SDA----GPIO1-2
===========================================
1.添加i2c模块
#sudo nano /etc/modules
添加以下两行内容
i2c-bcm2708
i2c-dev
----------
sudo nano /etc/modprobe.d/raspi-blacklist.conf
# blacklist spi and i2c by default (many users don't need them)
#blacklist spi-bcm2708
blacklist i2c-bcm2708 //开启设备
重启RP reboot
2.安装i2c工具
sudo apt-get install i2c-tools
3.查看i2c设备
sudo modprobe i2c-dev
查看端口列表,成功开启I2C后,可在 /dev/ 目录看到 /dev/i2c-0 和 /dev/i2c-1
给设备赋予权限: $sudo chmod o+rw /dev/i2c*
sudo i2cdetect -y -a 1 (A: 0 B:1)
-----------------------------------
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
-----------------------------------
i2c设备的总线地址为0x68
4. 探测设备
#modprobe i2c_bcm2708
modprobe i2c_dev
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
^I2C总线地址
hwcolck -r //读取i2c时间
5. 将本地系统时间同步后写入I2C中
date -s "12:12:12 20130101"
hwclock -w
6.开机自动同步时间
sudo nano /etc/rc.local
modprobe i2c-dev
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
hwclock -r
hwclock -s
exit 0
==================================
时间同步成功后
root@EOA:~# i2cdetect -y -a 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- |