Guten Abend zusammen ich experimentiere derzeit mit einem Touch TFT... Auf diesem LCD befindet sich ein ADS7843 um die Touch Folie auszulesen. Nun die kommunikation funktioniert soweit. Ich bin mir jedoch nicht ganz sicher, ob das derzeitige verhalten des IC's korrekt ist. Laut Datenblatt, sollte es eine 12Bit auflösung haben. Meines gibt jedoch Resultate in grossen Sprüngen zurück. Etwa +-100 Hier mein Code: [c] unsigned int read_12bit_special(void) { unsigned int ucTemp = 0; unsigned char ucCounter = 0; sclk_1; //erstes bit des ADS verwerfen _delay_us(500); sclk_0; mosi_1; //12Bit auslesen for (ucCounter=0; ucCounter!=12; ucCounter++) { sclk_0; delay_clk(delay_value); sclk_1; if (miso) ucTemp = (ucTemp | 0x0001); else ucTemp = ucTemp & 0xFFFE; if(ucCounter < 11) ucTemp = ucTemp << 1; } sclk_0; return ucTemp; } unsigned int ADS7843_Y(void) { unsigned int uiTemp = 0; spi_cs(0); write_spi(0x90); //Bei X 0xD0 uiTemp = read_12bit_special(); spi_cs(1); return uiTemp; } [c] Vielleicht sieht jemand was :) Oder hat Erfahrungen mit dem Teil gemacht...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.