|
楼主你好。
我现在想用TQ2440作为USB设备和PC机连接,然后在TQ2440板上运行一个应用程序,这个程序可以通过USB发送数据,在PC机上的打开的txt文本中输出。
然后我看到天嵌的wince6.0 的BSP包中的D:\WINCE600\PLATFORM\TQ2440\Src\Drivers\Usb\Function中有个sc2440pdd.exe的文件,这个应该是TQ2440 USB Function的pdd层的驱动吧。
而对应的mdd层的驱动应该是在D:\WINCE600\PUBLIC\COMMON\OAK\DRIVERS\USBFN\CONTROLLER\MDD里面的ufnmdd.cpp吧?
我看到ufnmdd.cpp里面有UFN_xxx的流驱动接口。那么应用程序应该就是调用这些接口,然后mdd再调用pdd的吧?
问题是,我在编写的应用程序中写入ret = DeviceIoControl(hUsb, 0x05, NULL, 0, &i, 8, NULL,NULL);之类的语句,然后在mdd层的UFN_IOControl函数中添加打印语句RETAILMSG(1, (TEXT("Ufn_IOControl \r\n")));,但SecureCRT没有输出。是不是TQ2440的USB mdd驱动不在这个位置?或者说我没有build到?build我是通过VS2005的 生成->Open Released Directory in Build Window 然后转到D:\WINCE600\PUBLIC\COMMON\OAK\DRIVERS\USBFN\CONTROLLER\MDD目录下build的。
还是说注册表要改?注册表我没有改动,在应用程序中的创建语句为hUsb = CreateFile (TEXT("UFN1:"), GENERIC_WRITE|GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
请教楼主红色的问题,谢谢。 |
|