程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

樹莓派基礎:用於Raspberry Pi的基於Python的I2C函數

編輯:Python

讓我們看看基本的基於Python的I2C函數,這些函數經常用於Raspberry Pi上的I2C通信。

在python中開發Raspberry Pi I2C通信程序時,我們可以使用SMBus庫包,它對訪問I2C設備有很大的支持。因此,我們應該使用apt數據包管理器為Python添加SMBus支持,

sudo apt-get install python-smbus

基於Python的I2C函數

  1. 導入SMBus

要使用SMBus Python模塊訪問Raspberry Pi上的I2C總線,請按如下方式導入SMBus模塊。

  1. import smbus

創建SMBus類的對象以訪問基於I2C的Python函數。

= smbus.SMBus(I2C port no.)

I2C port no:I2C端口號。即0或1

Example – Bus = smbus.SMBus(1)

現在,我們可以使用Bus對象訪問SMBus類。

  1. Bus.write_byte_data(Device Address, Register Address, Value)

該函數用於將數據寫入所需的寄存器。

Device Address : 7位或10位器件地址

Register Address : 我們需要編寫的寄存器地址

Value : 傳遞需要寫入寄存器的值

例如 – Bus.write_byte_data(0x68, 0x01, 0x07)
  1. Bus.write_i2c_block_data(Device Address, Register Address, [value1, value2,….])

該函數用於寫入32字節的塊。
Device Address :7位或10位器件地址

Register Address :注冊我們需要寫入數據的地址

Value1 Value2…. :將一個字節塊寫入所需的地址

例如 – Bus.write_i2c_block_data(0x68, 0x00, [0, 1, 2, 3, 4, 5]) #從0地址寫入6個字節的數據。
  1. Bus.read_byte_data(Device Address, Register Address)

該函數用於從所需寄存器讀取數據字節。
Device Address : 7位或10位器件地址

Register Address : 注冊我們需要讀取數據的地址

 例如 – Bus.read_byte_data (0x68, 0x01)
  1. Bus.read_i2c_block_data(Device Address, Register Address, block of bytes)

此函數用於讀取32個字節的塊。
Device Address – 7位或10位器件地址

Register Address – 注冊我們需要讀取數據的地址

Block of Bytes – 從所需地址讀取字節數

例如 – Bus.read_i2c_block_data(0x68, 0x00, 8) #revalvalue是一個6字節的列表


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved