微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

USB通讯 – Windows CE主机terminal到USB设备打印机

我正在开发一些代码从Windows CE5terminal,将数据发送到USB设备(在这种情况下的打印机)运行。 我有问题获得用于打开通信的端口的价值。 我曾尝试使用由驱动程序(USBport + GUID)在registry中写入的设备path以及其他许多变体。 我知道与设备通信应该只是“打开一个文件”来与设备在给定的内存地址进行通信。 我知道有现代的usb库,但这些将是没有用的这样一个旧的操作系统(我假设)。 我的总体目标是编写代码是VC ++,并使用JNI来包装用于Java应用程序(SE6)的代码。 有没有人可以举一个例子来说明“设备path”是什么样的? 或者如果还有其他东西我可以随意摆脱光线。 我注意到大多数现代USB库都有searchfunction,但如果我有设备path,我不相信searchfunction是必要的….

目前我正在尝试让代码在任何操作系统上运行,并且一直在使用Windows 7才能正常工作。 以下是一些代码片段:

const LPCTSTR portvalue = L“441ee000-4342-11d5-a184-00c04f60524d”; //定义了端口名称,即设备的读/写位置

int usbHandle = OpenUsb(portvalue); //打开文件/设备进行通信

C ++ USB通信

Archer T4UH USB无线适配器是否提供Linux驱动程序?

用Qt编程的USB编程

黑客窃取USB设备:在那里的任何程序?

如何在VCP模式下使用FDTI芯片?

/ * ** * ** * * 这里是OpenUsb函数 ** * ** * ** * **** / __declspec(dllexport)int _cdecl OpenUsb(const LPCTSTR portName){

HANDLE activeUsbFileHandle = CreateFile(portName,//portname built in registry? need to get a WinCE5 vm going..? i belive so GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,// comm devices must be opened w/exclusive-access NULL,// no security attributes OPEN_EXISTING,// comm devices must use OPEN_EXISTING FILE_ATTRIBUTE_norMAL,NULL); cout << "Portname Mem Location: " << &portName; cout << "nThe portname passed in as: " << portName << endl; commTimeouts.ReadIntervalTimeout = 0; commTimeouts.ReadTotalTimeoutConstant = 500; commTimeouts.ReadTotalTimeoutMultiplier = 0; commTimeouts.WritetotalTimeoutConstant = 5000; commTimeouts.WritetotalTimeoutMultiplier = 0; SetCommTimeouts(activeUsbFileHandle,&commTimeouts); return (int)activeUsbFileHandle;

}

这可能知道在Ubuntu的设备安装和卸载时间?

libusb和poll / select

USB编程与Windows

用C#popupUSB驱动器

Prolific PL2303串口为250000bps

portName = "\LPT1:"; /* i use this for printing */

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐