Raspberry Pi win10 IOT 之 LED 闪烁实验
1、在关机状态下连接硬件,连接方法如下图所示
PIN29/GPIO5 连接到 LED 的长脚
GND 连接到 LED 的短脚

2、打开 Visual Studio 编写代码
using System;
using Windows.Devices.Gpio;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Media;
namespace Blinky
{
public sealed partial class MainPage : Page
{
private const int LED_PIN = 5;
private GpioPin pin;
private GpioPinValue pinValue;
private DispatcherTimer timer;
private SolidColorBrush redBrush = new SolidColorBrush(Windows.UI.Colors.Red);
private SolidColorBrush grayBrush = new SolidColorBrush(Windows.UI.Colors.LightGray);
public MainPage()
{
InitializeComponent();
timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(500);
timer.Tick += Timer_Tick;
InitGPIO();
if (pin != null)
{
timer.Start();
}
}
private void InitGPIO()
{
var gpio = GpioController.GetDefault();
// Show an error if there is no GPIO controller
if (gpio == null)
{
pin = null;
GpioStatus.Text = "There is no GPIO controller on this device.";
return;
}
pin = gpio.OpenPin(LED_PIN);
pinValue = GpioPinValue.High;
pin.Write(pinValue);
pin.SetDriveMode(GpioPinDriveMode.Output);
GpioStatus.Text = "GPIO pin initialized correctly.";
}
private void Timer_Tick(object sender, object e)
{
if (pinValue == GpioPinValue.High)
{
pinValue = GpioPinValue.Low;
pin.Write(pinValue);
LED.Fill = redBrush;
}
else
{
pinValue = GpioPinValue.High;
pin.Write(pinValue);
LED.Fill = grayBrush;
}
}
}
}

3、编辑并保存程序后,在程序名上单击右键,选择属性

4、如下图所示配置参数

5、运行程序,首先设置为 Debug 模式,然后选择 ARM,使用远程计算机方式运行

6、配置过程中,在输出位置会显示当前状态

7、启动后,可以看到树莓派win10 界面由一个模拟的红灯以 500ms 的间隔闪烁,同时树莓派 GPIO 上连接的 LED 也同样的频率闪烁
视频效果:百度网盘链接:http://pan.baidu.com/s/1i5vLhlz 密码:r5vr

8、可以通过 Visual Studio 的菜单控制程序,例如可以暂停或者停止程序的运行
