回答編集履歴
1
関数仕様を把握していなかったので修正
answer
CHANGED
@@ -5,4 +5,10 @@
|
|
5
5
|
data = pi.i2c_read_i2c_block_data(hndl,REG_GPIOA,0x01)
|
6
6
|
print(hex(~data&0xff))
|
7
7
|
```
|
8
|
-
とでもしてみたらどうでしょう。
|
8
|
+
とでもしてみたらどうでしょう。
|
9
|
+
|
10
|
+
---
|
11
|
+
修正。
|
12
|
+
pi.i2c_read_i2c_block_data()の返り値はタプルで、最初の要素が得られたデータの数、次がbyte配列でデータそのもの、とのことです。hnd1のI2Cバスのデバイスの、REG_GPIOAレジスタから1バイトを読みだした値を使って計算をしたいのですから、
|
13
|
+
print(hex(~(data[1][0])&0xff))
|
14
|
+
ということになるかと思います。
|