关于WINCE触摸屏不准的问题,确认用hive注册表,请高手给点建议。
系统是wince7,处理器是am3359,用了4线电阻屏幕。
具体表现是,开机三次就会出现一次触摸屏不准的情况。
现在确认用了hive注册表,并且校准信息正确;自己排查后发现,每次触摸屏上同一位置采出来的AD值不一样。
比如某次启动,屏幕边缘采出来AD值始终是0-20;若重启后屏幕边缘采出来的AD值就会变为200-300,偏差了。
我怕是硬件问题,用示波器看了电阻屏幕线的波形,无奈屏幕按着时候噪声太大,实在是看不出来。
我用自己做的另外一个NK(模块一样,说实话,我就是再次编译了一下,说起来诡异,每次重新编译所有工程,有时候正常有时候不正常),就不会出现不准的情况。
关于AD的所有寄存器,我也看过,完全不一样。。
球建议。
PID:00400002 TID:03B20002 tmp.bInitialized: 00000001
PID:00400002 TID:03B20002 tmp.analog_input: 00000001
PID:00400002 TID:03B20002 tmp.bTerminateIST: 00000000
PID:00400002 TID:03B20002 tmp.clk_rate: 016E3600
PID:00400002 TID:03B20002 tmp.dwISTPriority: 0000006D
PID:00400002 TID:03B20002 tmp.dwPowerState: 00000000
PID:00400002 TID:03B20002 tmp.dwSamplingTimeOut: FFFFFFFF
PID:00400002 TID:03B20002 tmp.dwSysIntr: 0000001A
PID:00400002 TID:03B20002 tmp.dwWires: 00000004
PID:00400002 TID:03B20002 tmp.hGPIO: 00000000
PID:00400002 TID:03B20002 tmp.hIST: 00000000
PID:00400002 TID:03B20002 tmp.hSPI: 00000000
PID:00400002 TID:03B20002 tmp.hTouchPanelEvent: 00000000
PID:00400002 TID:03B20002 tmp.nInitialSamplesDropped: 00000000
PID:00400002 TID:03B20002 tmp.nPenGPIO: 00000000
PID:00400002 TID:03B20002 tmp.nPenIRQ: 00000010
PID:00400002 TID:03B20002 tmp.nSampleRate: 000000C8
PID:00400002 TID:03B20002 tmp.nSPIAddr: 00000000
PID:00400002 TID:03B20002 tmp.nSPIBaudrate: 00000000
PID:00400002 TID:03B20002 tmp.nSPIWordlength: 00000000
PID:00400002 TID:03B20002 tmp.PenUpDebounceMS: 00000000
PID:00400002 TID:03B20002
regs.....................
PID:00400002 TID:03B20002 tmp.regs->adc_clkdiv: 00000007
PID:00400002 TID:03B20002 tmp.regs->adc_ctrl: 000000A7
PID:00400002 TID:03B20002 tmp.regs->adc_misc: 00000000
PID:00400002 TID:03B20002 tmp.regs->adc_range: 00000000
PID:00400002 TID:03B20002 tmp.regs->adc_stat: 00000010
PID:00400002 TID:03B20002 tmp.regs->charge_delay: 00000001
PID:00400002 TID:03B20002 tmp.regs->charge_stepcfg: 00889120
PID:00400002 TID:03B20002 tmp.regs->dma0_req: 00000000
PID:00400002 TID:03B20002 tmp.regs->dma1_req: 00000000
PID:00400002 TID:03B20002 tmp.regs->dma_enable_clr: 00000000
PID:00400002 TID:03B20002 tmp.regs->dma_enable_set: 00000000
PID:00400002 TID:03B20002 tmp.regs->fifo0_count: 00000000
PID:00400002 TID:03B20002 tmp.regs->fifo0_threshold: 00000005
PID:00400002 TID:03B20002 tmp.regs->fifo1_count: 00000000
PID:00400002 TID:03B20002 tmp.regs->fifo1_threshold: 00000005
PID:00400002 TID:03B20002 tmp.regs->idle_config: 00440500
PID:00400002 TID:03B20002 tmp.regs->irq_enable_clr: 00000020
PID:00400002 TID:03B20002 tmp.regs->irq_enable_set: 00000020
PID:00400002 TID:03B20002 tmp.regs->irq_eoi: 00000000
PID:00400002 TID:03B20002 tmp.regs->irq_wakeup: 00000001
PID:00400002 TID:03B20002 tmp.regs->revision: 47300001
PID:00400002 TID:03B20002 tmp.regs->step_enable: 00001FFF
PID:00400002 TID:03B20002 tmp.regs->sysconfig: 00000008
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 00100072
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 00100072
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 00100072
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 00100072
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 00100072
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 00100072
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 04040192
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 04040192
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 04040192
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 04040192
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 04040192
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 04040192
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 00000000
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 00000000
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 00000000
PID:00400002 TID:03B20002 tmp.regs->tsc_adc_step_cfg[i]: 00000000
[解决办法]
系统是wince7,处理器是am3359
喔喔
好新喔
根據我的經驗通常都是touch driver的問題
我在Samsung S5PV210 cpu的時候也遇到touch不準的問題
因為搭配的touch panel不同調教的也不同
bsp原本的算法使用計算接觸電阻的方式
但是這各算法在我的touch panel會在4各邊緣計算出不同的力道感覺
我修改為計算按壓電壓的方式
才解決這各問題
建議你從touch driver去查查
1.力道轉換
2.x,y座標轉換