Showing results for 
Search instead for 
Did you mean: 

Resistive touch screen wrong coordinates

Associate II
Posted on May 12, 2016 at 17:25


I have a problem withresistive TP.

I use STMPE811.

I use my custom board with connection of the stmpe811 similar to the stm32f429discovery board, as well as the drivers from the board demonstration software.

I cannot get correctvalues of x and y.

To isolate the problem I take the values of x and y immediately after this function –stmpe811_TS_GetXY(...) and print them to the screen. The values are quite unstable. For example when I push in some part of the screen I receive something like this x = 1230, y = 3457. Holding the finger in the same spot the values of x and y change slightly (+-50) but once in 2-3 seconds those values are something absolutely different like x= 60, y = 6354234.

Another problem is when I move finger along the x axis the value of y also changes by several times (but it should stay the same as I don't change y position).

I tried to change touch detect delay, average control samples – the problem had notchanged.

Just for reference hereare the values of the corners:

  1. left upper x = 2720, y = 3500

  2. left lower x = 1900, y = 4300

  3. right upper x = 4020, y = 3600

  4. right lower x = 530, y = 52014

  5. middle of the screen x = 3670, y = 2180

As I mentioned the values are something absoultely different once per 2-3 seconds.

Is there something I can check?


Associate II
Posted on May 16, 2016 at 09:46

Still did not run the touch screeen.

Here is the function stmpe811_TS_GetXY.

It reads data from the register STMPE811_REG_TSC_DATA_NON_INC (0xD7).

However I did not find this register in the datasheet.

I also checked revision number (ID_VER) and it is 0x03 (the datasheet mentions only 0x01 version).

I checked the TP (actually two TPs) with voltmeter and it responses properly...