¿En qué directorio se encuentra el código fuente del algoritmo de la pantalla táctil en Wince?
¿Ver texto impreso en el portapapeles?
Si BSP_NOTOUCH!
[HKEY_LOCAL_MACHINE\HARDWARE\device map\TOUCH]
"MaxCalError"=dword:7
"Datos de calibración"="626, 464 1054, 823 192, 813 190, 108 1070, 104 "
" Orden"=dword: 1
ENDIF BSP_NOTOUCH!
Si BSP_NOTOUCH!
[HKEY_LOCAL_MACHINE\HARDWARE\device map\TOUCH]
"MaxCalError"=dword:7
"Datos de calibración"="626, 464 1054, 823 192, 813 190, 108 1070, 104 "
" Orden"=dword: 1
ENDIF BSP_NOTOUCH!
Datos de calibración Aquí están los datos de calibración de la pantalla. Debido a que el desplazamiento táctil es demasiado grande después de activar WINCE, es imposible hacer clic para ingresar al programa de calibración de pantalla. Hay dos métodos:
Método 1: si tiene un mouse USB, conecte el mouse USB a la interfaz del host USB y luego podrá ingresar a la interfaz de calibración de pantalla a través del mouse. Haga clic en Inicio, Panel de control, Lápiz óptico.
Método 2: Este método no es adecuado para principiantes, sino para desarrolladores de programas. Primero sincronice la placa de desarrollo, copie la aplicación de calibración de pantalla a un directorio en la placa de desarrollo, luego abra una aplicación a voluntad a través de VS2005, apunte la entrada del programa a la aplicación copiada y luego ejecute el programa de calibración de pantalla con F5. Los pasos detallados no se enumeran aquí.
Después de la calibración de la pantalla, si el registro corregido se pierde y el sistema se vuelve a grabar, habrá un cambio. Por no hablar de la producción en masa. Entonces, ¿qué debemos hacer? De hecho, cuando completa la calibración de la pantalla, los datos de calibración guardados ya están guardados. Verifique la información del registro a través del Editor de registro remoto e ingrese la siguiente ruta:
HKEY_Local_Machine\Hardware\DeviceMap\Touch los datos que registran los datos de calibración y reemplace los datos en platform.reg con estos datos Datos incorrectos. Tenga en cuenta que el directorio de archivos y el directorio platform.reg en el directorio de lanzamiento deben modificarse. Hágalo nuevamente después de la modificación y el NK generado serán los datos correctos.
Dos: pantalla de calibración de LINUX
Debido a que la placa de desarrollo Lingfei no tiene calibración de pantalla de forma predeterminada, se ingresa a la interfaz de shell [interfaz QT] después de iniciar el sistema Linux, y allí No hay ningún proceso de calibración. ¿Qué hacemos? Ingrese a la consola de Linux a través de DNW o HyperTerminal, verifique si hay un archivo puntero en / etc, elimine el archivo y reinicie. El sistema se reiniciará e ingresará automáticamente a la interfaz de calibración. Ahora puedes calibrar la pantalla.
Si la calibración de la pantalla aún no tiene éxito en este momento, es decir, si hace clic en la cruz repetidamente, se trata de un problema con el controlador de la pantalla táctil. "Modifique el siguiente código:
/drivers/char/s3c 2410ts.c transpone los valores xey en la función estática en línea void S3C2410_get_xy (void).
"Específicamente:
vacío estático en línea s3c2410_get_XY(void)
{
if (adc_state == 0) {
ADC_state = 1 ;
disable_ts_adc().
x = _ _ raw _ readl(s3c 2410 _ adcdat 1) amp 0x3ff // x: f04 y: f0e por pht. >
mode_y_axis();
start_adc_y();
} else if (adc_state == 1) {
ADC _ state = 0; /p>
disable_ts_adc().
y = _ _ raw _ readl(s3c 2410 _ ADC dat 0) amp 0x3ff// y: f04 x: f0e por pht.
DPRINTK("Dibujar: x: 08d, y: 08d\n ", x, y
espera _ arriba _ int(
ts dev . status = PEN _ DOWN;
tsEvent();
}
}
Vacío estático en línea s3c2410_get_XY(void)
{
if (adc_state == 0) {
ADC _ state = 1;
disable_ts_adc()
ADC_state = 0;
disable_ts_adc()
y = _ _ raw _ readl(s3c 2410). _ ADC dat 0) amp; 0x3ff // y: f04 x: f0e por
DPRINTK("Presione: x: 08d, y: 08d\n ", x, y
esperar _ arriba _ int();
ts dev . PEN _ DOWN
tsEvent()
} p>
}
¿Cambiar el código anterior a
Ver texto impreso en el portapapeles?
Vacío incrustado estático s3c2410_get_XY(void)
{
if (adc_state == 0) {
ADC _ state = 1;
disable_ts_adc().
y = _ _ raw _ readl(s3c 2410 _ adcdat 1) amp 0x3ff // x: f04 y: f0e por pht.
mode_y_axis();
start_ADC_y();
} else if (adc_state == 1) {
ADC_state = 0;
disable_ts_adc().
x = _ _ raw _ readl(s3c 2410 _ ADC dat 0)amp 0x3ff // y: f04 x: f0e por pht.
DPRINTK("Presione: x: 08d, y: 08d\n ", x, y
espera _ arriba _ int(); ts dev . Estado de PEN = PEN _ DOWN;
tsEvent();
}
}
Vacío incrustado estático s3c2410_get_XY( void )
{
if (adc_state == 0) {
ADC _ estado = 1;
disable_ts_adc().
y = _ _ raw _ readl(s3c 2410 _ adcdat 1) amp 0x3ff // x: f04 y: f0e por pht.
mode_y_axis();
start_ADC_y();
} else if (adc_state == 1) {
ADC_state = 0;
disable_ts_adc().
x = _ _ raw _ readl(s3c 2410 _ ADC dat 0)amp 0x3ff // y: f04 x: f0e por pht.
DPRINTK("Presione: x: 08d, y: 08d\n ", x, y
espera _ arriba _ int(); ts dev PEN status = PEN _ DOWN;
tsEvent();
}
}
Actualiza el kernel después de editar el Grabe el kernel nuevamente.