我把触摸功能加进去後功能有起来,但触摸的状况却跟正常情况不一样,不管怎么滑怎么点都会在一个弧形的范围内,点在同一点位时,根据压力的不同点位也不一样,使用getevent来看他是一直连续读取,放开也一样继续有event触发,请问该怎么改触摸功能才能起来?
使用的是TI_Android4.2.2_Devkit4.1.1 的SDK,四线式的电阻屏
/* Touchscreen Controller Data for AM335xEVM */
/* Calibrated on AM335xEVM Rev. 1.1A and 1.2A */
/* The values have to be fine tuned for other revisions, if requred */
static struct tsc_data am335xevm_touchscreen_data = {
.wires = 4,
.x = {
//.min = 0xCB,
.min = 0x95a,
//.max = 0xF9B,
.max = 0xFC8,
.inverted = 0,
},
.y = {
//.min = 0xC8,
.min = 0x862,
//.max = 0xE93,
.max = 0xF21,
.inverted = 0,
},
.x_plate_resistance = 200,
.steps_to_configure = 5,
};
static struct adc_data am335x_adc_data = {
.adc_channels = 4,
};
static struct mfd_tscadc_board tscadc = {
.tsc_init = &am335xevm_touchscreen_data,
.adc_init = &am335x_adc_data,
};
/* Beaglebone Black */
static struct evm_dev_cfg beaglebone_black_dev_cfg[] = {
{am335x_rtc_init, DEV_ON_BASEBOARD, PROFILE_NONE},
{tps65217_init, DEV_ON_BASEBOARD, PROFILE_NONE},
{lcdc_init, DEV_ON_BASEBOARD, PROFILE_NONE},
{mfd_tscadc_init, DEV_ON_BASEBOARD, PROFILE_NONE},
{mii1_init, DEV_ON_BASEBOARD, PROFILE_NONE},
{usb0_init, DEV_ON_BASEBOARD, PROFILE_NONE},
{usb1_init, DEV_ON_BASEBOARD, PROFILE_NONE},
{mmc1_init, DEV_ON_BASEBOARD, PROFILE_NONE},
{mmc0_init, DEV_ON_BASEBOARD, PROFILE_NONE},
{i2c2_init, DEV_ON_BASEBOARD, PROFILE_NONE},
{mcasp0_init, DEV_ON_BASEBOARD, PROFILE_NONE},
{sgx_init, DEV_ON_BASEBOARD, PROFILE_NONE},
{NULL, 0, 0},
};
以上是在board-am335xevm.一些有关触摸屏的配置,
yongqing wang:
你这有点像电阻屏没贴好,误触了
nn n:
回复 yongqing wang:
不过我的屏幕在别人烧录好的板子上的触控功能是正常的,我也尝试过很多办法,tslib的校正也试过但却无法解决这问题,如果我把adcchannel 改成0,是不会出现一直有event的问题,不过触控的范围还是在一个弧形框内,而且好像收不到手指放开时的动作
yongqing wang:
回复 nn n:
示波器测试一下AD通道的电压变化,看看是否信号异常
nn n:
回复 yongqing wang:
感谢建议,我刚刚测量过4个PIN的电压变化 发现x1,x2电压常态维持在0.5v左右,有跳动现象,触摸没有改变他的电压,y1及y2常态0.3,触摸时0.5
对比正常可使用的板子 x1,x2常态1.8v 触摸会变化,y1,y2与x1,x2差不多
中间只有交换beaglebone black的板子,屏幕使用的是同一块
yongqing wang:
回复 nn n:
不客气