首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

WINCE 5.0 加载 触摸屏驱动 有关问题

2012-03-06 
WINCE 5.0 加载 触摸屏驱动 问题我使用威盛工业主板X86 下面 使用WINCE5.0买了个触摸屏 说明文档上和驱动

WINCE 5.0 加载 触摸屏驱动 问题
我使用威盛工业主板
X86 下面 使用WINCE5.0

买了个触摸屏 说明文档上和驱动包里安装注册的说明不一致
我都尝试了 但就是没有反应

USB口没有问题USB鼠标U盘都可以使用 触摸屏在PC上使用没有问题

驱动包里三个文件Calibration.exe touchp.dll USBPort.dll
说明文档如下:
registerity setting for USB 
<i>
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH]
"DriverName"="Touchp.dll"
"CalibrationData"="102,102 1945,102 1945,1945 102,1945"
"BCLEFT"=dword:64
"BCRIGHT"=dword:64
"BCTOP"=dword:64
"BCBOTTOM"=dword:64

<ii>
[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\14371_1\0_0_0\255_255_255\USB_TOUCH_Driver]
"DLL"="USBPort.dll"
[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\14371_2\0_0_0\255_255_255\USB_TOUCH_Driver]
"DLL"="USBPort.dll"
[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\291_1\0_0_0\255_255_255\USB_TOUCH_Driver]
"DLL"="USBPort.dll"
[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\3823_1\0_0_0\255_255_255\USB_TOUCH_Driver]
"DLL"="USBPort.dll"
[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\3823_2\0_0_0\255_255_255\USB_TOUCH_Driver]
"DLL"="USBPort.dll"


安装手册ManualCE.pdf 中
却写着
Windows CE.NET & CE 5.0
Steps of installation
Touch driver installation with TouchKit utility. File List:
USBTouch.dll - USB touch screen driver
TouchKit.dll - RS232 touch screen driver
TouchKit.exe - TouchKit utility
DrawTest.exe - DrawTest utility
Calibration.exe - Calibration utility
UpdateEEPROM.exe -Update EEPROM utility
Note: 1. If users use USB controllers, users select the UHCI or OHCI USB Host Controller driver into the platform, which supported by the target device, and check the USB mouse can go well at the same port.
2. If users use RS232 controllers, users have to make sure Windows CE has the driver of serial port.
Select the “Mouse” into your platform. This can find in:
“Catalog\Core OS\Display based devices\Shell and User Interface\Mouse”
1. Create a sub-folder “CEDB” under C:\
2. Copy files USBTouch.dll, TouchKit.dll, TouchKit.exe, DrawTest.exe, Calibration.exe and UpdateEEPROM.exe to the directory.
3. Launch platform builder and open the platform workspace.
4. Edit the PROJECT.BIB in the Parameter View of Platform Builder.
5. Add these two lines in Modules:
a) TouchKit utility:
TouchKit.exe C:\CEDB\TouchKit.exe NK S
DrawTest.exe C:\CEDB\DrawTest.exe NK S
Calibration.exe C:\CEDB\Calibration.exe NK S
UpdateEEPROM.exe C:\CEDB\Calibration.exe NK S
b) If users want to use USB module:
USBTouch.dll C:\CEDB\USBTouch.dll NK SH
c) If users want to use RS232 module:
TouchKit.dll C:\CEDB\TouchKit.dll NK SH
6. Edit the PROJECT.REG in the Parameter View of Platform Builder.
7. Add these lines for registry:
a) Add the registry setting for all modules:
[HKEY_LOCAL_MACHINE\Drivers\TouchKit]
“RBSIZE”=dword:800
“RBTIME”=dword:989680
“FLAGS”=dword:1----------------------->set 0x1 sofware filter enable
set 0x3000 update eeprom function enable
“ZfilterThreshold”=dword:800
“ZfilterBound”=dword:00100001
“SoundType”=dword:0----------------------->This is the default sound type
SoundType = 0 is no sound
SoundType = 1 is Beep in touch down
SoundType = 2 is Beep in lift off
b) If users want to use USB module:
[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\14371_1\0_0_0\255_255_255\USB_TOUCH_Driver]
“DLL”=”USBTouch.dll”
[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\14371_2\0_0_0\255_255_255\USB_TOUCH_Driver]
“DLL”=”USBTouch.dll”
[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\4660_1\0_0_0\255_255_255\USB_TOUCH_Driver]
“DLL”=”USBTouch.dll”
[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\3823_1\0_0_0\255_255_255\USB_TOUCH_Driver]
“DLL”=”USBTouch.dll”
[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients3823_2\0_0_0\255_255_255\USB_TOUCH_Driver]


“DLL”=”USBTouch.dll”
c) If users want to use RS232 module1:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\TouchKit1]
“Dll”=”TouchKit.dll”
“Order”=dword:00000001
“Prefix”=”TKT”
“Index”=dword:00000001
“Context”=dword:1;--------------------->This is the COM Port index which users use
If users want to use RS232 module2:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\TouchKit2]
“Dll”=”TouchKit.dll”
“Order”=dword:00000001
“Prefix”=”TKT”
“Index”=dword:00000002
“Context”=dword:2;--------------------->This is the COM Port index which users use



各种方式都尝试过 厂家的人不会WINCE 也不知道怎么定制内核

请大家帮忙

[解决办法]
您注册表改了吗,在CE的WINDOWS文件夹下看得到你添加的文件吗?
[解决办法]
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH] 
"DriverName"="Touchp.dll" 
"CalibrationData"="102,102 1945,102 1945,1945 102,1945" 
"BCLEFT"=dword:64 
"BCRIGHT"=dword:64 
"BCTOP"=dword:64 
"BCBOTTOM"=dword:64 

类似于这些东西必须写进platform.reg或project.reg中,或者以其他方式加载。否则WinCE无法预知你安装了这些驱动,哪怕你把相关文件包含上去了。
[解决办法]
个人观点,我的事这样搞的,呵呵

1、对于注册表
<i>
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH]
……
这个不重要,保存的是触摸校正后得到的值
<ii>
[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\14371_1\0_0_0\255_255_255\USB_TOUCH_Driver] 
……
这个放到platform.reg或project.reg中,不然OS启动时不会加载这几个DLL(驱动)。

2、这几个DLL文件和exe文件放在smdkXX(你的SMDK的名字)下的FILES目录,然后编译BSP或者直接拷贝到里的工程的RelDir\smdk2440_ARMV4I_Release目录下然后make image

热点排行