首页 > 解决方案 > Wpf 和 GPIO:有可能吗?

问题描述

我有一个在 Windows 10 IOT 设备上运行的 WPF 应用程序。该设备有 4 个输入和 4 个输出,它们应该从应用程序的新版本中读取和写入。我找到的所有关于 GPIO 的示例代码都是基于using Windows.Devices.Gpio;.

我用 Visual Studio 做了一些测试,我需要一个通用 Windows 的参考,只有当我为 UWP 创建一个新项目时才可用。看来我无法将 GPIO 功能添加到现有的 WPF 项目中。我能做些什么?我想避免将WPF项目移植到UWP。仅对特定平台 (x64) 有效的解决方法是可以接受的。

更新 1

我添加了 Elgar 建议的页面中报告的引用,现在我可以使用 Windows.Devices.Gpio 命名空间中的类进行编译。直到下周才能访问目标硬件,所以我不能说它是否有效,但它很有希望。事实上,我的开发工作站没有 Gpio,所以我认为如果GpioController.GetDefault()返回 null 是正确的。

我也找到了一个NuGet Gpio 包。它指的是完全不同的命名空间System.Device.Gpio,有些类看起来像Windows.Devices.Gpio中的类,但方法有所不同。我有点迷失方向,因为我在这个包上找不到任何文档。

标签: wpfiotgpio

解决方案


GPIO上的WPF?这不可能。

UWP 上的 GPIO 是在 IOT 的图形子系统设备上进行通信的抽象层,而 WPF 位于 DirectX 9.0c 之上。这两者在架构和基础硬件抽象层上完全不同。因此,您不能将在 GPIO 之上运行的 UWP 与在 DirectX 上运行的 WPF 混合使用。


推荐阅读