前言
其实吧,这个问题是自己作出来的。
不同的电容触控屏幕厂家出厂的时候,已经设置,没事儿的话,就别瞎调了。
我这边用的GT911的驱动。
参考
买的是这家的屏幕和测试板。
建议:买屏幕时候,再买个驱动板或者演示板。方便在出问题的时候知道那里出问题了。
(这里不是打广告,你可以买其他家的)
前因后果
我是在调试 f1c100s触控的时候发现,坐标怎么也不对,但是呢,他们家的开发板坐标又是对的,我用榴莲派的开发板怎么也不对,而且坐标原点成了右下角(理论上应该左上角)。
后来发现把屏幕连到演示板上,发现触控坐标也不对了,然后我就意识到哪里出问题了。
然后就发现,f1c100s的demo在运行的时候重写了触控芯片的配置。
触控芯片的这里配置有很多文章 (搜索 “GT911驱动” 就好了) 作了说明。(你别想着自己把这个配置写出来,让厂家提供,186个数呢)
下面是两个不同的 800*480 屏幕的CFG配置。
//小淘气原先的
//4.3寸 800x480配置表
//小淘气的
//unsigned char s_GT911_CfgParams_800x480_43[186]=
//{
// 0x42,0x20,0x03,0xE0,0x01,0x0A,0x3D,0x00,0x02,0x08,0x28,0x08,0x64,0x46,0x03,0x05,0x00,0x00,0x00,0x00,0x00,0x00,
// 0x00,0x18,0x1A,0x1E,0x14,0x89,0x2A,0x09,0xC8,0xCA,0x40,0x04,0x00,0x00,0x00,0x61,0x02,0x1D,0x00,0x01,0x00,0x00,
// 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0xFA,0x94,0xD5,0xF4,0x07,0x00,0x00,0x04,0x86,0xA7,0x00,0x82,0xB7,0x00,
// 0x80,0xC8,0x00,0x7D,0xDA,0x00,0x7C,0xEF,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
// 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
// 0x00,0x00,0x02,0x04,0x06,0x08,0x0A,0x0C,0x10,0x12,0x14,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
// 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x04,0x06,0x08,0x0A,0x0F,0x10,0x12,0x16,0x18,0x1C,
// 0x1D,0x1E,0x1F,0x20,0x21,0x22,0x24,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
// 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x54,0x01
//};
//别家自带的
unsigned char s_GT911_CfgParams_800x480_43[186]=
{
0x41,0x20,0x03,0xE0,0x01,0x0A,0x0D,0x20,0x01,0x0A,0x28,0x0F,0x5A,0x3C,0x03,0x05,0x00,0x00,0x00,0x00,0x00,0x00,
0x05,0x00,0x00,0x00,0x00,0x8A,0x2A,0x0C,0x32,0x34,0x0C,0x08,0x00,0x00,0x00,0x03,0x02,0x25,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x55,0x94,0xC5,0x02,0x07,0x00,0x00,0x04,0x8D,0x2B,0x00,0x80,0x32,0x00,
0x75,0x3A,0x00,0x6C,0x43,0x00,0x64,0x4F,0x00,0x64,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x18,0x16,0x14,0x12,0x10,0x0E,0x0C,0x0A,0x08,0x06,0x04,0x02,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x22,0x21,0x20,0x1F,0x1E,0x1D,0x1C,0x18,0x16,0x13,0x12,
0x10,0x0F,0x0A,0x08,0x06,0x04,0x02,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x01
};