簡體   English   中英

Raspberry PI - I2C 不寫入數據

[英]Raspberry PI - I2C not writing data

我正在使用 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

會是什么呢?

  1. 在樹莓派上確保您在 raspi-config 中啟用了 I2C(sudo raspi-config,接口選項,啟用/禁用自動... I2C 內核模塊)

  2. 使用 System.Device.I2c; // 管理 Nuget 包..

  3. I2cConnectionSettings 的“DeviceAddress”是您使用 I2cDevice 寫入單個字節的“Slave”的地址。 寫字節 設備(例如 Arduino)在其接收數據事件中接收該字節。 這可用於向設備發送命令。

  4. 當您呼叫設備時。 ReadByte您實際上向設備發送請求以回答數據。 例如,一個 Arduino Slave會在它的請求數據事件中收到這個請求,並且可以發回一些東西(在一個字節以上的情況下)。 這應該與 0 不同,因為如果沒有讀取數據,函數也會返回 0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM