Hallo zusammen,
ich arbeite derzeit an der Entwicklung eines Treibers für ein LCD-Display mit einem AiP31068L Controller. Dieses Display ist über I²C mit einem ESP32 verbunden. Mein Ziel ist es, das Busy-Flag und den Address Counter auszulesen. Laut Dokumentation erfordert das Protokoll folgende Schritte: Protokoll für Busy-Flag-Auslese:
- Start Condition (S): Der Master startet die Kommunikation.
- Slave-Adresse senden (R/W=1): Die 7-Bit-Adresse des Slaves wird gesendet, gefolgt von einem Lese-Bit (R/W=1).
- Leeres Byte (Control Byte) senden (0x00): Der Master sendet ein einzelnes Byte mit dem Wert 0x00.
- Lehres Byte (Data Byte) senden (0x00). Da bin ich mir nicht ganz sicher.
- Stop Condition (P): Der Master beendet die Kommunikation.
- Data Byte Lesen aber wie???
Auf der Seite 11 wird das Protokoll beschrieben, aber leider nur ein Schreibvorgang. Ich besitzte auch einen Logic Analyzer, somit kann ich das Signal beobachten. Daher meine Frage: Wie muss das Protokoll aufgebaut werden, damit ein Lesevorgang durchgeführt werden kann?
Das oben beschrieben Protokoll kann soweit ich es jetzt herausgefunden habe nicht mit der arduino wire lib umgesetzt werden. Siehe: https://docs.espressif.com/projects/arduino-esp32/en/latest/api/i2c.html#i2c-write
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
Bei Ablauf 1 wird die Adresse um ein bit nach links verschoben und das LSB (R/W) bit wird immer auf 0 gesetzt.
1 |
|
2 |
|
3 |
|
Kann ich mit der arduino wire lib dieses Protokoll für eine Lesevorgang überhaut aufbauen?
Anbei mein Code und die I2c Daten als Bild:
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 |
|
38 |
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 |
|
46 |
|
47 |
|
48 |
|
49 |
|
50 |
|
51 |
|
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 |
|
58 |
|
59 |
|
60 |
|
61 |
|
62 |
|
63 |
|
64 |
|
65 |
|
66 |
|
67 |
|
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
