This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我将 OPT3001 EVM 的子卡连接到 Raspberry PI 的 I2C 总线、并编写了一些实验代码来成功操作它! 以下是我的笔记和我所使用的代码:
代码: opt3001_c.txt
示例输出文件: opt3001_c_output.txt
我的一些注释:
已在 SD 卡上使用 r向往 的图像
展开的文件系统
$Raspi-config 并打开 SPI 和 i2c
编辑模块文件
sudo nano /etc/modules
添加以下行:
I2C-bcm2708
I2C-DEV
退出并保存文件
此步骤不需要,也不被列入黑名单:
现在编辑模块黑名单文件:
sudo nano /etc/modprobe.d/raspi-blacklist.conf
在 此行中添加"#"字符 、这样它 会注释掉:
#blacklist i2c-bcm2708
退出并保存文件
最后安装 I2C 实用程序
sudo apt-get install python-smbus i2c-tools
输入"sudo reboot"以重新启动 PI、现在 I2C 引脚将可用
这一步我从未检查过是否必须执行,也没有执行:
如果您运行的是最新的 Raspberry Pi (3.18内核或更高版本)、您还需要更新 /boot/config.txt 文件。 使用 sudo nano /boot/config.txt 对其进行编辑 并添加文本
dtparam=i2c1=on
dtparam=i2c_arm=on
在底部。 请注意、"i2c1"中的"1"不是 L!
正在检查已连接的设备
在命令提示符下、根据您使用的是 I2C0还是 I2C1端口、键入以下命令之一:
sudo i2cdetect -y 0
//or
sudo i2cdetect -y 1.
将显示找到的所有器 件的7位 I2C 地址(忽略 R/W 位、因此 I2C 地址0000 0110显示为十六进制03)。
pi@raspberrypi ~$ sudo i2cdetect -y 1.
0 1 2 3 4 5 6 7 8 9 A b c d e f
00: ------------ ------------ ------
10:------------ ------------ ------------ --
20:------------ ------------ ------------ --
30:------------ ------------ ------------ --
40:------ 44 -------------- ------------ --
50:---------- ------------ ------------ --
60:------------ ------------ ------------ --
70:------------ ------
pi@raspberrypi ~$
然后我尝试使用 i2cset 和 i2cset:
PI@raspberrypi ~$ i2cset -y 1 0x44 0x01
pi@raspberrypi ~$ i2cget -y 1 0x44
0xc8.
但我一次只能获取字节。