【发布时间】:2017-01-19 08:51:35
【问题描述】:
如果我在 UWP 中创建应用程序,例如使用 Template 10。我使用 C#
我希望在一个类或某个地方拥有GpioController 逻辑,以处理所有输入和输出业务,例如设置所有引脚和事件。
例如,当按下按钮时,它将向服务器发送 POST 请求,这必须在任何视图中都有效。
如果我去一个视图,我想让一个图钉的状态显示为“门打开了”
此外,例如,如果传感器将引脚触发为 HIGH,如果我更改视图,则它无法触发 buttonPin_ValueChanged 事件或出于任何原因将其设置为 LOW,除非传感器为 LOW。
即使引脚 Power-on Pull 是 PullDown。
pin = gpio.OpenPin(12);
pin.SetDriveMode(GpioPinDriveMode.InputPullUp);
pin.Write(GpioPinValue.Low);
pin.ValueChanged += buttonPin_ValueChanged;
【问题讨论】:
-
我不认为你可以写这么简单的类来抽象GPIO引脚的使用。电子设备比引脚更复杂,所有引脚都可以根据您连接的内容做不同的事情。有兴趣看看你得到什么答案。
-
我真的不明白你的问题是什么?您是否只是希望能够从代码中的任何位置与 GPIO 控制器进行交互,并获得有关引脚值更改的通知,而不管当前显示的是哪个视图?对吗?
-
是的@robinmanuelthiel,比如后台工作人员之类的。我正在记录约 8 次状态更改/秒。即使我正在切换视图,我也不会错过任何一个变化。
-
这是 C++ 还是 C#?其他语言?树莓派执行多线程 - 因此您可以检查程序中其他部分的原子变量,并将
gpiocontroller放在单独的线程中。 -
@NonCreature0714 如果我在线程中使用 C#,如果我更改视图,它不会杀死它吗?
标签: raspberry-pi win-universal-app gpio windows-10-iot-core