Forum: Mikrocontroller und Digitale Elektronik Touch Display Hong Kong


von Dennis X. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Ihr,

ich habe mir vor einiger Zeit ein paar Hong Kong Display geholt. Viele 
hier im Forum klagtn schon im vorraus, wegen Zoll, Lieferzeit und 
Qualität...
Ich kann nur sagen, die Teile sind spitze!
Sitze derzeit an einer Lib, wo ich eben diese Ansteuern will.
Die Grafik-Funktionen funktionieren auch ohne Probleme, nur mit dem 
Touchscreen, welcher über einen TSC2046 betrieben wird, gibt es einige 
Probleme.
Im Anhang habe ich mal das Datenblatt. Hat mit dem Controller mal einer 
Erfahrungen gemacht? Ich sende dem Controller den Befehl für die 8-Bit 
Auflösung und bekomme aber auf meiner MISO Leitung immer nur eine 0xFF 
zurück.

Würde mich mal freuen, wenn wir hier ein bisschen über den Baustein 
diskutieren.

Grüße
Dennis
von Dennis X. (Gast)


Lesenswert?

Okay, im 8-Bit Auflösungsmodus kann ich dem Ding einige Koordinaten 
herauskitzeln... Das Heißt, ich habe sinvolle Werte, mit welchen ich nun 
weitermachen kann. Nur Leider ist mir das etwas ungenau. Es gibt bei dem 
Teil auch noch einen 12-Bit Auflösungsmodus, doch wie zum Teufel kann 
mein SPDR des SPI's denn 12 empfangene Bits ausgeben? Bzw.  kann ich das 
so hintrixen?
weiß da jemand Rat?
von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Du musst zwei Bytes empfangen - siehe Datenblatt.
von Dennis X. (Gast)


Lesenswert?

Okay, das dachte ich mir ja auch und tu kurz nach dem Senden des Befehls 
das Register auslesen und dies in ein 16-bit Variable schreiben. darauf 
lese ich sofort wieder das SPDR Register aus, aber an diesem Punkt hängt 
sich mein uC auf, da natürlich in diesem Register nichts mehr ist...
von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Dennis X. schrieb:
> darauf
> lese ich sofort wieder das SPDR Register aus, aber an diesem Punkt hängt
> sich mein uC auf, da natürlich in diesem Register nichts mehr ist...

Reinshiften geht nur gleichzeitig mit rausshiften:
1
SPDR = dataout;
2
wait_for_spdr_ready;
3
datain = SPDR;
4
5
SPDR = dataout;
6
wait_for_spdr_ready;
7
datain2 = SPDR;

Datenblatt Figure 13, dort steht, was du senden musst um H und L byte zu 
bekommen.
von Dennis X. (Gast)


Lesenswert?

Okay, ich kann nun jedenfalls mal zwei Byte auslesen...
Nun geht es an das reinshiften.
Da muss ich doch nur die eine Zahl in meine 16-Bit Variable schreiben 
und diese dann mit 8<<my_byte; nach links schieben, jetzt dann noch das 
byte mit dem zweiten ODER-Verknüpfen oder?
von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

unsigned short var16bit = ((var8bit_high<<8)|var8bit_low);
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.