Forum: Mikrocontroller und Digitale Elektronik Problem mit Touchpanel und ADS7846


von Stefan K. (Gast)


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

von Stefan K. (Gast)


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.

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.