Raspberry PI-I2C未写入数据 - c#

我正在使用Raspberry PI 3B +在.NET Core(https://github.com/dotnet/iot)中尝试新的System.Device.Gpio库,但是I2C通信给我带来了一些麻烦。

我想重现一些已经工作的python代码的行为,从一些简单的数据写入和读取开始:

I2cConnectionSettings settings = new I2cConnectionSettings(1, 0x18); // I2C BUS is 1, ADDRESS is 0x18
I2cDevice device = I2cDevice.Create(settings);
device.WriteByte(8);
Console.WriteLine("Byte written: " + device.ReadByte().ToString());

结果是给我的总是0,没有任何错误,而预期的结果应该是8

会是什么呢?

参考方案

确保在树莓派上启用raspi-config中的I2C
(sudo raspi-config,接口选项,启用/禁用自动... I2C内核模块)
使用System.Device.I2c; //管理Nuget软件包
I2cConnectionSettings的“ DeviceAddress”是使用I2cDevice.WriteByte将单个字节写入其中的“从站”的地址。从设备例如Arduino在接收数据事件中接收该字节。这可用于向设备发送命令。
当您调用device.ReadByte时,实际上是向设备发送请求以回答数据。例如,一个Arduino Slave将在其请求数据事件中获取此请求,并可以发送回一些内容(在一个字节以上的情况下)。这应该与0有所不同,因为如果没有读取任何数据,该函数也会返回0。

Raspberry Pi在python和raspistill中捕获的图像质量 - python

我正在使用覆盆子pi来检测我的猫何时在桌子上,并且我在几个图像捕获部件上遇到了一些麻烦。这是我正在运行的相关代码:from picamera.array import PiRGBArray from picamera import PiCamera import time import cv2 import subprocess #method 1 with…

在树莓派上运行python脚本 - python

我正在研究rapiberry pi 3大约3个月,开始使用它时遇到了问题。我找不到在树莓派打开时在其上运行python脚本的有效,安全的方法(没有监视器,鼠标和键盘)。此刻,我在/ etc / profile中添加了“ $ sudo run myscript.py&”但是有时候,当我打开它时,直到将显示器,鼠标和键盘连接到该脚本并使用GUI运行脚本,脚本才能…

从Raspberry PI 3到Arduino UNO的串行通信丢失字节 - python

因此,我在Uni拥有一个OpenCV项目,我们在其中使用Raspberry Pi和Arduino构建流光溢彩的系统,以及具有144个LED和网络摄像头的LED灯带。我基本上是通过网络摄像头,OpenCV和Python从电视屏幕的边框读取144个RGB值的,并将它们(包括位置(索引从0到143))通过USB通过USB发送到Arduino。然后,Arduino设…

如何避免math.sin(math.pi * 2 * VERY LARGE NUMBER)的错误裕度比math.sin(math.pi * 2)大得多? - python

我在其他问题中读到,例如sin(2π)由于浮点表示而不是零,但非常接近。这个很小的错误在我的代码中是没有问题的,例如,我可以四舍五入小数。但是,当将2π与非常大的数字相乘时,误差会放大很多。答案应该为零(或接近),但距离很远。我的想法根本上是做错了吗?如果不是,如何避免周期为(2 * PI * X)→∞的π浮点数的误差容限被“放大”?请注意,最后3个结果都是…

如何在Raspberry Pi上保护我的Python脚本? - python

我已经在Python上开发了一个漫长而复杂的计算机视觉算法。我坚持“冗长而复杂”,因为我的最后一个解决方案是用C ++重写它(大约3000行,并且依赖于纯Python库)...该算法嵌入在Raspberry Pi A +中。可以将SD卡插入此纳米计算机,使其包含Linux系统。因此,基本上我的脚本位于该SD的文件夹中。打开Raspberry Pi时,它将运行…