Windows 10 IoT Serials 3 - Windows 10 IoT Core Ardunio Wiring Mode


    Maker社區和智能硬件的朋友一定知道Arduino,很多3D打印機都是用它做的。為了迎合這一大塊市場,微軟在基於Intel Galileo的Windows 8.1 IoT中就是使用這種基於Arduino的硬件接口和編程模式。目前,在Windows 10 IoT Core中也提供了這個功能。也就是說,我們使用樹莓派,刷Windows 10 IoT Core系統以后,可以讓它直接跑Arduinio的應用。雖然有點殺雞用牛刀的感覺(畢竟樹莓派比Arduino UNO貴好多,處理能力什么的也強不知道多少倍),但這畢竟也是微軟為樹莓派和Arduino社區結合所做的一些貢獻。廢話少說,下面就直接進入正題。

    首先,我們使用最新的Windows 10 IoT Core OS 10586,Visual Studio 2015 Update 1。大家可以去微軟官方下載:

1. 在Windows 10 IoT Core中設置運行Arduino程序的Lighting模式

    運行Windows 10 IoT Core設備,如樹莓派2。使用網頁管理器登陸設備,如下圖所示。

clip_image002

    打開其中的Devices頁面,如下圖所示。

clip_image004

    在Default Controller Driver中,默認是InBox Driver,將其設置為Direct Memory Mapped Driver,並點擊update driver更新,如下圖所示。

clip_image006

    之后,設備更換Driver模式,並且重新啟動。重新啟動以后,進入同一個頁面,可以發現其Driver模式已經更換。

2. 新建工程

    如果已經升級到Visual Studio 2015 with Update 1的版本,那么該模板應該是已經有了。如果沒有,可以去Windows IoT Core Project Templates extension page下載。

    創建工程時,選擇File -> New Project -> Visual C++ -> Windows -> Windows IoT Core -> Arduino Wiring Application for Windows IoT Core,如下圖所示。

clip_image008

    在默認的源程序中,就給出了閃爍LED燈的例子,其默認代碼如下:

void setup()

{

// put your setup code here, to run once:

pinMode(GPIO_5, OUTPUT); // Configure the pin for OUTPUT so you can turn on the LED.

}

void loop()

{

// put your main code here, to run repeatedly:

digitalWrite(GPIO_5, LOW); // turn the LED off by making the voltage LOW

delay(500); // wait for a half second

digitalWrite(GPIO_5, HIGH); // turn the LED on by making the voltage HIGH

delay(500); // wait for a half second

}

    很顯然,這個程序的結構和Arduino開發環境是一致的,在setup中初始化資源,在loop中循環執行任務。

3. 硬件連接

    按照下圖方式連接LED燈、電阻和樹莓派,注意LED燈長引腳為正極,短引腳為負極。

clip_image009

    有關引腳映射,可以參考這個網頁:

    http://ms-iot.github.io/content/en-US/win10/ArduinoWiringPortingGuide.htm

4. 部署和調試

    選中工程,目標類型選擇ARM,右鍵,選擇屬性菜單,在Machine Name中輸入IP地址,認證類型中選擇Universal模式。如下圖所示。

clip_image011

    注意,認證類型一定要選擇Universal,不然就無法調試。

    然后,就可以看到連接的LED閃爍了。

5. 存在的問題

    目前,從網頁管理器啟動已經部署的Ardunio應用程序尚存在一些問題。如下圖,在網頁管理器中選擇已經部署的應用程序,點擊start的時候,會彈出錯誤信息。

clip_image013

clip_image015

6. 調試模式的改變

    在Visual Studio 2015 Update 1中,更改了調試認證模式,由原來的None變為了Universal。這點需要開發者朋友注意。大家知道,原來msvsmon.exe這個進程是設備在開機時自啟動的。現在,該進行非開機自啟動,而是調試程序過程中才會啟動。在程序調試結束以后,該進程自動退出。下圖是非調試狀態下,從網頁管理器端看到的正在運行的進程。

clip_image017

    下圖是調試程序時,從網頁管理器端看到的正在運行的進程。

clip_image019

    參考鏈接:

l http://ms-iot.github.io/content/en-US/win10/Lightning.htm

l http://ms-iot.github.io/content/en-US/win10/ArduinoWiringProjectGuide.htm

l http://ms-iot.github.io/content/en-US/win10/LightningSetup.htm

l http://ms-iot.github.io/content/en-US/win10/ArduinoWiringPortingGuide.htm

l http://ms-iot.github.io/content/en-US/win10/samples/arduino-wiring/HelloBlinky.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM