410c与MS10物联网系统的点灯代码分析
2015-12-01 19:32
489 查看
根据上一章我们所实现的电灯程序,我们花一点时间来分析一下在这个案例中,‘Tick’事件如何调用并反转LED。
我们一步步的分析上面的代码:
首先,我们使用GpioController.GetDefault() 来获得GPIO控制
如果设备没有对GPIO的控制权,那么函数将返回null
接下来我们试图通过调用GpioController.OpenPin() 来更改LED_PIN的值
当我们能够控制Pin的值后,我们使用函数 GpioPin.Write() 来设置输出电平为高
我们接下来使用 GpioPin.SetDriveMode() 来设置输出模式下的pin值
修改GPIO口的状态
当我们访问 实例时,没必要更改pin的状态从而控制LED的亮灭
如果我们需要将LED打开,我们只需要简单的写入值 到IO口中:
举一反三,我们也可以通过如下的方式将IO口设置为高:
时间模型
如下的代码为410c中所设置的C#代码:public MainPage() { // ... timer = new DispatcherTimer(); timer.Interval = TimeSpan.FromMilliseconds(500); timer.Tick += Timer_Tick; InitGPIO(); if (pin != null) { timer.Start(); } // ... } 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; } }
初始化GPIO口
为了驱动GPIO口,首先我们要懂得如何初始化。 如下为C#代码using Windows.Devices.Gpio; 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."; }
我们一步步的分析上面的代码:
首先,我们使用GpioController.GetDefault() 来获得GPIO控制
如果设备没有对GPIO的控制权,那么函数将返回null
接下来我们试图通过调用GpioController.OpenPin() 来更改LED_PIN的值
当我们能够控制Pin的值后,我们使用函数 GpioPin.Write() 来设置输出电平为高
我们接下来使用 GpioPin.SetDriveMode() 来设置输出模式下的pin值
修改GPIO口的状态
当我们访问 实例时,没必要更改pin的状态从而控制LED的亮灭
如果我们需要将LED打开,我们只需要简单的写入值 到IO口中:
pin.Write(GpioPinValue.Low);
举一反三,我们也可以通过如下的方式将IO口设置为高:
pin.Write(GpioPinValue.High);
相关文章推荐
- ZigBee和6LoWPAN在物联网中应用对比
- 创客的开源Widora-MT7688A创客神器WIFI开发板带声卡IOT
- DragonBoard 410c+MS 10 IoT物联网开发入门
- DragonBoard 410c与MS IoT开发的准备工作
- IoT 领域的优秀研究团队
- pigeon物联网平台- developer portal web服务设计及实现
- 物联网与嵌入式系统概论-week4-Networking and the Internet-Lesson3: Network Layers and MANETS
- [置顶] Android 物联网WIFI模块配置
- 物联网与嵌入式系统概论-week4-Networking and the Internet-Lesson2: Internet Protocol
- 物联网与嵌入式系统概论-week4-Networking and the Internet-Lesson1: Networking Basics
- JerryScript 和 IoT.js:来自三星的物联网JavaScript
- 超越Web,Javascript在物联网的应用
- 哈工大物联网感知技术学习心得
- 几种物联网实现方式之间的比较+转载
- 物联网安全思考
- 物联网信息整理
- 物联网与嵌入式系统概论-week3- Hardware and Software-Lesson3: Operating Systems
- 物联网与嵌入式系统概论-week3- Hardware and Software-Lesson2: Microcontrollers and Software
- 物联网与嵌入式系统概论-week3- Hardware and Software-Lesson1: Hardware Components
- 参加Autodesk 2015 开发者大会:物联网有意思的试验