Quesion:
在GPIO_I2C通訊協定與EEPROM存取"章節中,教的I2C存取是以1個byte(8個bit)為單位做讀及寫,請問有模組(module)或function可以import,只單獨做I2C 1個bit讀寫,或是連續的2或3個bit讀寫嗎?
沒有這樣的函數, 原因是I2C 傳輸資料的最小的單位就是一個位元組 (8個bits),
每傳輸完一個位元組,接收方就會回傳一個 ACK/NACK位元
你要寫入bit, 一般作法都是 將值讀回後, 進行位元運算 bitwise operation, 再將值寫回
例如:
original_value = bus.read_byte_data(DEVICE_ADDR, CONFIG_REGISTER)
new_value = original_value | (1 << 2)
bus.write_byte_data(DEVICE_ADDR, CONFIG_REGISTER, new_value)