Answers:
这里有很多关于RPi的GPIO的信息:http ://elinux.org/Rpi_Low-level_peripherals
根据它,您可以为I²C编程任何GPIO引脚,但是:
引脚3(SDA0)和引脚5(SCL0)被预置为用作I²C接口。因此,板上有用于这些引脚的1.8 km上拉电阻。
该Wiki页面还提供了一些入门指南,介绍了用于各种语言的一些低级GPIO代码示例。如果你需要什么I²C实际上是一种复习,这里有一个这也需要RPI的考虑。
对于特定的I²C控制,此python库可能会有所帮助,此博客文章中对此进行了讨论,其中包括代码示例。
对此进行了大量讨论。这是我的阅读和阅读所带给我的:
/etc/modprobe.d/raspi-blacklist.conf
并注释了i2c-bcm2708
; 的条目。然后编辑/etc/modules
并追加i2c-dev
; 然后重启。现在,您应该有一个/dev/i2c-0
非常容易使用的特殊文件。
硬件:
如Tapio所述,该硬件已在http://elinux.org/Rpi_Low-level_peripherals中进行了详细记录
软件:
Linux用户空间(#include <linux/i2c-dev.h>
)中有一个i2c-dev标头。此外,您需要一个字符伪指令来读取。这可以通过加载正确的模块来完成。i2c_bcm2708
用于低级驱动程序并i2c-dev
用于生成总线的字符决策。申请...
sudo modprobe -r i2c_bcm2708
sudo modprobe i2c_bcm2708 baudrate=<your preferred baudrate>
快速加载它们。申请...
sudo sh -c 'echo "i2c-dev" >> /etc/modules'
sudo sh -c 'echo "options i2c_bcm2708 baudrate=<your preferred baudrate>\n" > /etc/modprobe.d/custom.conf
和unblacklist i2c_bcm2708
在/etc/modprobe.d/raspi-blacklist.conf
做/dev/i2c-0
和/dev/i2c-1
永久显示出来。
从现在开始,您可以遵循有关如何亲自使用I²Cdel maestro 的提示。
我比较喜欢这种方法,因为它与平台无关。linux/i2c-dev.h
只要存在低级别的I²C驱动程序,您就可以与其他设备一起使用。
问候