Forum: Mikrocontroller und Digitale Elektronik ADS7843 (TouchController) Verhalten normal?


von C. H. (hedie)


Lesenswert?

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
Noch kein Account? Hier anmelden.