Problem mit Touchpanel und ADS7846

Gast #3071160
Lesenswert?

Hi Leute,

arbeite momentan daran über einen Touchcontroller ADS7846 ein resis. 
Touchpanel anzusteuern. Angeschlossen ist der Touchscreen richtig am 
Controller. Auslesen funktioniert ebenfalls. Jedoch macht nur der Y Wert 
Sinn, der X Wert zappelt nur Wild herum.
1
    
2
    TOUCHSCREEN_CS_ENABLE();
3
    
4
    _delay_ms(1);
5
    tcWriteByte(ADS_START | ADS_12BIT | ADS_DFR | ADS_A0A1A2_X_POS);
6
    _delay_ms(1);
7
    a = tcReadByte();
8
    _delay_ms(1);
9
    b = tcReadByte();
10
    _delay_ms(1);
11
    x += 1023 - ((a<<4) | (b>>4));
12
    _delay_ms(1);
13
    
14
    tcWriteByte(ADS_START | ADS_12BIT | ADS_DFR | ADS_A0A1A2_Y_POS);
15
    _delay_ms(1);
16
    a = tcReadByte();
17
    _delay_ms(1);
18
    b = tcReadByte();
19
    _delay_ms(1);
20
    y += ((a<<4) | (b>>4));
21
    _delay_ms(1);
22
    
23
    TOUCHSCREEN_CS_DISABLE();

Kann mir jemand einen Tipp geben warum dies so ist?

MfG
Gast #3071164
Lesenswert?

Die Delays sind drin, da anfangs X und Y Werte keinen Sinn gemacht haben 
bzw wenn man nicht auf den Touch gedrückt hat gezappelt haben und wenn 
man darauf gedrückt hat bei ca 510-513 lagen (Auflösung 12 Bit 
eingestellt). Mit den Delays macht nun wenigstens wie oben beschrieben 
der X Wert Sinn.

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