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.

[FAQ] [参考译文] [常见问题解答] OPT3001:OPT3001是否有示例 Raspberry PI 代码?

Guru**** 2035740 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/711681/faq-opt3001-is-there-example-raspberry-pi-code-for-the-opt3001

器件型号:OPT3001
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将 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.

    但我一次只能获取字节。