ADS7843 (TouchController) Verhalten normal?

#2602463
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...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren