2014-01-23 40 views
0

我目前正在努力讓萊昂納多設備識別並通過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來指導我。從Windows應用商店的Arduino設備串行端口通信C#應用程序

但是我有問題,儘管我輸入了我的PID/VID和類/子類/協議,但是我的Arduino設備沒有顯示,所以我覺得我錯過了一些步驟,並希望有人擁有與此相關的經驗可能會使我指出一個更具體/更細化的例子。

我的設備是一個Arduino萊昂納多,我使用Visual Studio 2013旗艦版運行Windows 8.1,代碼是C#

任何幫助表示讚賞!

+1

Arduino使用什麼驅動程序進行串行通信?它必須使用WinUSB.sys,而不是usbser.sys(這是舊的)。我也遇到了這個問題。爲它製作新的驅動程序並不是特別困難,但是您可能需要經歷一個製作CAT並自行簽名的過程(這可能有點麻煩)。 –

+0

@NateDiamond嘿Nate,我只是雙重檢查,你是對的,我目前使用舊的usbser.sys驅動程序。我對Arduino/drivers/etc完全陌生,你有什麼資源可以指出我在創建新驅動程序時使用的資源嗎? –

+0

當然! [檢查了這一點。](http://msdn.microsoft.com/en-us/library/windows/hardware/ff540283%28v=vs.85%29.aspx)它看起來非常複雜,但它是一樣簡單設置幾個字段,如製造商的名稱(您可以創建一個)和VID/PID。現在,您需要安裝該驅動程序。您可以禁用驅動程序簽名驗證或[自行簽名](http://www.pixcl.com/Signing_Windows_8_Drivers.htm)。它看起來很可怕,但也很容易。安裝驅動程序工具包,使用Inf2Cat,製作證書,使用SignTool,將證書安裝到TrustedInstallers和Root。安裝驅動程序 –

回答

0

我只是想回答這個問題,因爲目前不可能。我最終使用城域UI/UX指南編寫了桌面WPF應用程序。在這個和ClickOnce部署之間,商店應用程序的感覺是相當不錯的,儘管商店是理想的。

我真誠地希望微軟決定在不久的將來支持這一點,Metro SDK非常好,我很樂意最終移植它。

0

在普通的Windows應用程序只是一般的想法(不知道W8的AppStore的):
可能有助於也可能不會,在第二種情況下,對不起,浪費你的時間......

爲了得到一個「普通COM 「設備在Windows中,沒有任何額外的驅動程序,您應該使該設備顯示爲USB通信設備類(又名CDC) - 這是通過適當的類/子類/協議完成的。 VID/PID不關心。這意味着設備應該向列舉的USB主機(窗口)提供CDC/ACM USB描述符,並實現所需的端點和命令 - 據說您的開發板已經有一些東西存在,並將固件下載到它,對吧?您可能想要嘗試將此類配置的設備連接到Windows,並且枚舉成功後,應該顯示新的COM端口。如果你編程常規的應用程序,你只需通過SerialPort類實例連接到這樣的COM端口,不管它是通過USB子系統提供的......如果這樣做,你應該能夠啓動AppStore部分(我不知道如何幫幫我)。

+0

感謝您的建議!我已經得到了它的工作桌面應用程序,因爲它在通訊/端口顯示出來,但我的問題,從Windows應用商店庫莖是不同的/更嚴格,我的桌面應用程序的解決方案不起作用/不可用。更多信息總是歡迎!如果它不能幫助我,它可能會幫助那些在以後遇到此問題的人。 –

相關問題