讓我們看看基本的基於Python的I2C函數,這些函數經常用於Raspberry Pi上的I2C通信。
在python中開發Raspberry Pi I2C通信程序時,我們可以使用SMBus庫包,它對訪問I2C設備有很大的支持。因此,我們應該使用apt數據包管理器為Python添加SMBus支持,
sudo apt-get install python-smbus
要使用SMBus Python模塊訪問Raspberry Pi上的I2C總線,請按如下方式導入SMBus模塊。
創建SMBus類的對象以訪問基於I2C的Python函數。
= smbus.SMBus(I2C port no.)
I2C port no:I2C端口號。即0或1
Example – Bus = smbus.SMBus(1)
現在,我們可以使用Bus對象訪問SMBus類。
該函數用於將數據寫入所需的寄存器。
Device Address : 7位或10位器件地址
Register Address : 我們需要編寫的寄存器地址
Value : 傳遞需要寫入寄存器的值
例如 – Bus.write_byte_data(0x68, 0x01, 0x07)
該函數用於寫入32字節的塊。
Device Address :7位或10位器件地址
Register Address :注冊我們需要寫入數據的地址
Value1 Value2…. :將一個字節塊寫入所需的地址
例如 – Bus.write_i2c_block_data(0x68, 0x00, [0, 1, 2, 3, 4, 5]) #從0地址寫入6個字節的數據。
該函數用於從所需寄存器讀取數據字節。
Device Address : 7位或10位器件地址
Register Address : 注冊我們需要讀取數據的地址
例如 – Bus.read_byte_data (0x68, 0x01)
此函數用於讀取32個字節的塊。
Device Address – 7位或10位器件地址
Register Address – 注冊我們需要讀取數據的地址
Block of Bytes – 從所需地址讀取字節數
例如 – Bus.read_i2c_block_data(0x68, 0x00, 8) #revalvalue是一個6字節的列表