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...
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.