【发布时间】:2014-05-15 07:33:42
【问题描述】:
我目前正在努力让 Leonardo 设备被识别,并通过 C# 中的串行端口与我的应用程序进行通信,用于 Windows 8 App Store。我使用http://msdn.microsoft.com/en-us/library/windows/hardware/dn312121(v=vs.85).aspx#step2 作为指导,结合http://code.msdn.microsoft.com/windowsapps/USB-CDC-Control-sample-5ba19caa 指导我。
我遇到了问题,尽管我输入了我的 PID/VID 和类/子类/协议,但我的 Arduino 设备没有出现,所以我觉得我错过了一些步骤,希望有经验的人这可以为我指出一个更具体/更详细的例子。
我的设备是 Arduino Leonardo,我正在使用 Visual Studio 2013 Ultimate 运行 windows 8.1,代码是 C#
感谢任何帮助!
【问题讨论】:
-
Arduino 使用什么驱动程序进行串行通信?它必须使用 WinUSB.sys,而不是 usbser.sys(这是旧的)。我也遇到了这个问题。为它制作一个新的驱动程序并不是特别困难,但您可能需要经历一个制作 CAT 并自己签名的过程(这可能有点麻烦)。
-
@NateDiamond 嘿 Nate,我刚刚仔细检查过,你是对的,我目前正在使用旧的 usbser.sys 驱动程序。我是 Arduino/drivers/etc 的新手,你有什么资源可以告诉我你在创建新驱动程序时使用的资源吗?
-
当然! Check this out. 看起来真的很复杂,但是设置几个字段就很简单了,比如制造商的名字(你可以自己编一个)和VID/PID。现在,您需要安装该驱动程序。您可以禁用驱动程序签名验证或sign it yourself。这看起来很可怕,但也很容易。安装驱动程序工具包,使用 Inf2Cat,制作证书,使用 SignTool,将证书安装到 TrustedInstallers 和 Root。安装驱动
-
如果您确实制作了自己的证书并将其安装到 root,像疯了一样保护该证书。加密它,将它存储在某个地方,甚至可能只是删除它并每次创建一个新的。如果有人得到它的副本,他们可以将任意驱动程序安装到您的计算机上。坏消息。但是,如果你保护它,那么它应该是好的。此外,并非该指南的所有部分都是 100% 需要的,但它涵盖了所有要点。 (同样:Inf2Cat、MakeCert、SignTool、安装证书、安装驱动程序)。
标签: c# windows-8 serial-port arduino windows-store-apps