首頁>Raspberry Pi>source

我可以通過I²C成功訪問BME680設備. i2cdetect 1 顯示了该設備,我發現两个API似乎完全可以使用-我想知道我應该選擇哪个。

open() 設備, ioctl() 到相應的地址,然後可以使用最通用的 write() 或SMBus特殊 i2c_smbus_write_i2c_block_data() 將資料寫入所需的地址.阅讀有關 write()的正確組合 + read()i2c_smbus_read_i2c_block_data()一樣順利

由於我還不是內核編碼員,並且打算仅按照實際需要走這條路,所以我想知道我應该選擇哪種方法.我可以擲骰子-或做出合理的決定。

有人可以指出預期的方法吗?

39

i2c

最新回復
  • 5月前
    1 #

    SMBus i2c_smbus_read_i2c_block_data() 命令就像打開,ioctl和寫入一樣執行I2C寫入。

    您使用的內容並不重要,這完全取決於个人喜好。

    無論您使用哪種方式,我都会在代碼中添加一條註釋,指出可以替代使用另一種代碼(以防將代碼移植到只有其他代碼可以工作的其他環境中)。

  • i2c:讀取ADS1115的配置寄存器時,如何获得与之前編寫的值不同的值?
  • raspbian:重新整理圖像需要多长時間?