Hallo,
ich habe ein 240x128 Display mit T6963C Controller. Um Pins zu sparen,
versuche ich das Display über zwei PCF8574A Portexpander anzusteuern. µC
ist ein ATMega644 mit 16 Mhz. Pullups am I2C sind vorhanden.
Ein PCF8574A versorgt die Datenleitungen D0-D7, der andere die übrigen
Steuerleitungen.
Das Display erscheint im schönsten Blau mit etwas mehr Kontrast im
beschreibbaren Bereich.
Der Code funktioniert nicht, er bleibt bei der while Schleife in der
Funktion T6963cPutData stehen, in der auf das Display gewartet wird. Ich
bekommen einen Statuswert von 34 (später 162) angezeigt, was STA1 und
STA5 (STA1, STA5, STA7) entspricht. Geprüft wird STA0 und STA1, daher
geht der Code hier in eine Endlosschleife.
Hier die Debug-Ausgabe:
1 | +++ Programm Start +++
|
2 | UART Init ok.
|
3 | I2C Init ok.
|
4 | In Display Init.
|
5 | 1.
|
6 | 2.
|
7 | in T6963cPutData 1
|
8 | Status: 34
|
9 | Status: 34
|
10 | Status: 34
|
11 | Status: 162
|
12 | Status: 162
|
13 | Status: 162
|
14 | Status: 162
|
15 | Status: 162
|
16 | Status: 162
|
17 | Status: 162
|
18 | Status: 162
|
19 | Status: 162
|
20 | Status: 162
|
21 | Status: 162
|
Hat jemand eine Idee, warum es nicht funktioniert ? Source-Code anbei.