我们为我们的微控制器产品提供一系列 PC 演示程序。这些程序通常连接到微控制器板上的 USB HID 芯片。USB 芯片充当通信桥梁,允许程序通过 SPI/I2C/UART 与微控制器进行通信。这些程序可以配置微处理器,并获取状态信息以显示给用户。

我们现在希望使用单板 PC 构建一些独立演示。我们希望尽可能多地重用现有的演示应用程序源代码。理想情况下,我们可以按原样运行它们。

有人对前进的最佳方式有什么建议吗?基本选项似乎是 WinCE 或 XP Embedded 板。WinCE 板的功耗似乎较低,从电池寿命的角度来看,这将是一个优势。

我们现有的演示是在 Borland Builder 下用 C++ 构建的,或者是在 Delphi 中构建的。

提前致谢。

编辑:请参阅下面我的回答以及来自主板供应商的信息。

有帮助吗?

解决方案

有没有一个Delphi版本WinCE的,所以你需要重写应用程序。这同样适用于Borland的生成器的控件库。只有当你使用普通的Win32 API,你将能够移植应用程序可以轻松地退避三舍。你也可能会遇到硬件访问部分的问题。串行端口驱动程序可能无法正常工作的。另外,你需要找到一个WinCE的板,可作为USB主机和提供HID驱动程序(这是不是很常见)。

在最后,我相信你会是与Windows XP嵌入式板卡更好。因为他们是这些应该运行应用程序。

其他提示

免帕斯卡/拉扎勒斯可以编译一些形式的Delphi应用的畏缩/臂。甚至视觉的。

作为更新并供​​将来参考,我想我应该在这里发布我们与 WinCE 板供应商讨论的结果。警告:我实际上还没有尝试过这些。

最重要的是,没有一种简单的方法可以实现我们所希望的(即重新编译现有的演示应用程序以在 WinCE 下运行)。原因是 Windows 桌面版本中存在的通用 HID 驱动程序和标准 API 在 WinCE 中不存在。

要在 WinCE 中与 HID 设备通信,您需要实现自定义 HID 驱动程序。这需要支持一个接口,允许用户模式应用程序与驱动程序进行通信,并构建要发送到物理设备的 HID 报告。由于该接口本身是自定义的,因此应用程序代码需要相应更新。

WinCE 应用程序开发通常使用 Visual Studio 和 Microsoft 编译器完成。向我们推荐的方法是:

  1. 创建自定义 HID 类驱动程序。例如,这可能基于 Microsoft 键盘 HID 驱动程序。
  2. 创建一个用于与驾驶员对话的 API。
  3. 使用 .net 创建 GUI 应用程序,并使用 PInvoke 与 API 进行实际对话。

所有这些令人头疼的问题的最终结果是,为了避免与此方法相关的时间和学习曲线,我们将选择运行 XP 的主板。然后我们可以直接使用现有的演示应用程序。代价是我们将不得不忍受电池寿命大幅缩短的情况。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top