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

时间:2023-01-12 22:48:37

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。使用网页管理器登陆设备,如下图所示。

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

打开其中的Devices页面,如下图所示。

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

在Default Controller Driver中,默认是InBox Driver,将其设置为Direct Memory Mapped Driver,并点击update driver更新,如下图所示。

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

之后,设备更换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,如下图所示。

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

在默认的源程序中,就给出了闪烁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灯长引脚为正极,短引脚为负极。

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

有关引脚映射,可以参考这个网页:

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

4. 部署和调试

选中工程,目标类型选择ARM,右键,选择属性菜单,在Machine Name中输入IP地址,认证类型中选择Universal模式。如下图所示。

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

注意,认证类型一定要选择Universal,不然就无法调试。

然后,就可以看到连接的LED闪烁了。

5. 存在的问题

目前,从网页管理器启动已经部署的Ardunio应用程序尚存在一些问题。如下图,在网页管理器中选择已经部署的应用程序,点击start的时候,会弹出错误信息。

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

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

6. 调试模式的改变

在Visual Studio 2015 Update 1中,更改了调试认证模式,由原来的None变为了Universal。这点需要开发者朋友注意。大家知道,原来msvsmon.exe这个进程是设备在开机时自启动的。现在,该进行非开机自启动,而是调试程序过程中才会启动。在程序调试结束以后,该进程自动退出。下图是非调试状态下,从网页管理器端看到的正在运行的进程。

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

下图是调试程序时,从网页管理器端看到的正在运行的进程。

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

参考链接:

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

Windows 10 IoT Serials 3 - Windows 10 IoT Core Ardunio Wiring Mode的更多相关文章

  1. Windows 10 IoT Serials 2 - Windows 10 IoT RTM 升级教程

    7月29日,微软推出了Windows 10 for PC的正式版,其版本号是Build 10240.近两天官方说已经有4700万的下载安装量,同时这个数字还在不断攀升.另外,除了Windows 10 ...

  2. Windows 10 IoT Serials 5 - 如何为树莓派应用程序添加语音识别与交互功能

    都说语音是人机交互的重要手段,虽然个人觉得在大庭广众之下,对着手机发号施令会显得有些尴尬.但是在资源受限的物联网应用场景下(无法外接鼠标键盘显示器),如果能够通过语音来控制设备,与设备进行交互,那还是 ...

  3. Windows 10 IoT Serials 1 - 针对Minnow Board MAX的Windows 10 IoT开发环境搭建

    目前,微软针对Windows IoT计划支持的硬件包括树莓派2,Minnow Board MAX 和Galileo (Gen 1和Gen 2).其中,Galileo (Gen 1和Gen 2)运行的是 ...

  4. Windows 10 IoT Serials 8 – 如何改变UWP应用的目标平台

    Windows Insider计划直接加速了Windows系统的迭代,缩短了系统发布的周期.就Windows 10 IoT Core而言,迭代的速度和Windows 10 for PC.Windows ...

  5. Windows 10 IoT Serials 10 – 如何使用OCR引擎进行文字识别

    1. 引言 OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗.亮的模式确定其形状,然后用字符识别方 ...

  6. Azure IoT Edge on Windows 10 IoT Core

    在今年的Build大会上,微软推出了Azure IoT Edge的第一个版本(https://github.com/Azure/iot-edge ).该版本的主要特点就是将计算能力由Azure端推送至 ...

  7. 【Windows 10 IoT - 3】Windows 10 RTM安装及新特性(树莓派 Pi2)

    在<[Window 10 IoT - 1]Window 10系统安装(树莓派 Pi2)>中,我们介绍了Windows 10 IoT预览版的安装,正式版Windows 10 IOT(OS版本 ...

  8. Windows Phone 8初学者开发—第10部分:数据绑定应用程序和透视应用程序项目模板简介

    原文 Windows Phone 8初学者开发—第10部分:数据绑定应用程序和透视应用程序项目模板简介 原文地址: http://channel9.msdn.com/Series/Windows-Ph ...

  9. Windows 10 安装 Docker for Windows

    Docker for Windows是Docker社区版(CE)应用程序. Docker for Windows安装包包括在Windows系统上运行Docker所需的一切. 本主题介绍了预安装注意事项 ...

随机推荐

  1. PHP实现文本快速查找 - 二分查找

    PHP实现文本快速查找 - 二分查找法 起因 先说说事情的起因,最近在分析数据时经常遇到一种场景,代码需要频繁的读某一张数据库的表,比如根据地区ID获取地区名称.根据网站分类ID获取分类名称.根据关键 ...

  2. WCF序列化

    在WCF中,提供了专门用来序列化和反序列操作的类,该类就是DataContractSerializer类.一般而言,WCF会自动选择使用DataContractSerializer来对可序列话数据契约 ...

  3. HTML基础2 表单和框架

    表单: <form id="" name="" method="post/get" action"负责处理的服务端&quot ...

  4. BUG修改纪录

    刚进入现在的公司,接手了一个遗留的项目,BUG频出,最近一个星期都在加班改BUG,身心疲惫,为了 现在,将来不会再被相同BUG困扰,特来纪录一下. 1.数据库设计字段时,对于int等类型最好设置默认值 ...

  5. PAT A1010&period;Radix 二分法

    PAT A1010.Radix 链接: https://pintia.cn/problem-sets/994805342720868352/problems/994805507225665536 算法 ...

  6. 【1】【leetcode-76】 最小覆盖子串

     最小覆盖子串(hard) (不会) 给定一个字符串 S 和一个字符串 T,请在 S 中找出包含 T 所有字母的最小子串. 示例: 输入: S = "ADOBECODEBANC", ...

  7. Codeforces 1073 E - Segment Sum

    E - Segment Sum 思路: 数位dp 我们平时做的数位dp都是求满足条件的数的个数, 这里要求满足条件的数的和 只要在原来的基础上求每一位的贡献就可以了,所以传参数时要传两个 代码: #p ...

  8. python3 sort

    #https://docs.python.org/3.5/howto/sorting.html?highlight=sort #In Python 3.2, the functools.cmp_to_ ...

  9. Peter的烟&lpar;水题测试2017082401&洛谷1150&rpar;

    题目链接:Peter的烟 这道题基本做法很水,不解释. #include<bits/stdc++.h> using namespace std; int main(){ int n,k; ...

  10. python并发爬虫利器tomorrow&lpar;一&rpar;

    tomorrow是我最近在用的一个爬虫利器,该模块属于第三方的一个模块,使用起来非常的方便,只需要用其中的threads方法作为装饰器去修饰一个普通的函数,既可以达到并发的效果,本篇将用实例来展示to ...