加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

raspberry-pi – 将GPIO逻辑放入UWP的最佳实践

发布时间:2020-12-14 02:21:25 所属栏目:Windows 来源:网络整理
导读:如果我在UWP中创建一个应用程序,例如 Template 10.我使用C# 我希望将GpioController逻辑放在一个类或某个处理所有输入和输出业务的地方,例如设置所有引脚和事件. 就像一个例子,当按下按钮时,它将向服务器发送POST请求,这必须在任何视图中工作. 如果我去看一
如果我在UWP中创建一个应用程序,例如 Template 10.我使用C#

我希望将GpioController逻辑放在一个类或某个处理所有输入和输出业务的地方,例如设置所有引脚和事件.

就像一个例子,当按下按钮时,它将向服务器发送POST请求,这必须在任何视图中工作.

如果我去看一个视图,我想得到一个图钉的状态显示“门是开着的”

另外,例如,如果传感器触发引脚为高电平,如果我更改视图,则无法触发buttonPin_ValueChanged事件,或者由于任何原因将其设置为低电平,除非传感器为低电平.

即使引脚上电拉动是PullDown.

pin = gpio.OpenPin(12);
pin.SetDriveMode(GpioPinDriveMode.InputPullUp);
pin.Write(GpioPinValue.Low);
pin.ValueChanged += buttonPin_ValueChanged;

解决方法

您可以在初始类中创建GpioController对象,并将其作为对象传递给其他类.

如:

class BaseClass {
    GpioController gpio;

    void createGpioController(){
        gpio = new GpioController(/*Constuctor arguments here.*/);
    }

    void moveToNextClass(NextClass next){
        //Instantiate next class with any special constructors.
        next.gpio = this.gpio; 
        //Launch next class with same gpio member values. 
    }
}

class NextClass: BaseClass {
   GpioController gpio; //Will be assigned by last class.
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读