Windows IOT UWP - 中继

用户9105725

晚上好,

我正在对家庭自动化系统的开始进行一些故障排除。我正在尝试在 C# 中使用 Raspberry PI 3 和 Windows IOT 切换继电器。我一直在玩代码,我可以看到继电器切换一两次,但随后应用程序崩溃了。我是 IOT 菜鸟,所以这段代码有什么问题吗?(变量名是在别处定义的,我下面的奇怪变量名是为我的 WIP 项目...我更喜欢用英语进行故障排除)...

private void BtnTempFan_Click(object sender, RoutedEventArgs e)
    {
        if (BtnTempFan.IsChecked == true)
        {
            TogglePin(TempFan, TempFan_PIN, BtnTempFan, GpioPinValue.High);
        }
        else
        {
            TempFan.Dispose();
        }
    }
    private void TogglePin(GpioPin PinName, int PinNumber, ToggleButton Name, GpioPinValue value)
    {
        int pinnumber = PinNumber;
        GpioPinValue pinvalue;
        var gpio = GpioController.GetDefault();
        PinName = gpio.OpenPin(pinnumber);

        if (gpio == null)
        {
            PinName = null;
            LblError.Text = "We can't find the controller on the device" + PinName;
            LblError.Visibility = Visibility.Visible;
            return;
        }
        if (PinName == null)
        {
            LblError.Text = "We can't find the pin on the device. Pin number " + PinNumber + "does not exist";
            LblError.Visibility = Visibility.Visible;
            return;
        }
        if (Name.IsChecked == true)
        {
            pinvalue = value;
            PinName.Write(pinvalue);
            PinName.SetDriveMode(GpioPinDriveMode.Output);
        }
代码改善

你没有说例外是什么。但是,我相信您应该每个应用程序只打开一次 GPIO 引脚:

var gpio = GpioController.GetDefault();
PinName = gpio.OpenPin(pinnumber);

您可以在每次单击按钮时调用一次的方法中使用它。通过多次打开 pin,您会遇到 pin 已经打开,我相信这就是引发异常并使应用程序崩溃的原因。


在我的代码中,我在“驱动程序”类中处理引脚状态,并Connect在启动应用程序时调用了一个方法例如:

public async Task Connect()
{
    var gpioController = await GpioController.GetDefaultAsync();

    try
    {
        _openPin = gpioController.OpenPin(_doorMotorOpenPin);
        _closePin = gpioController.OpenPin(_doorMotorClosePin);
    }
}

这封装了 2 个引脚:_openPin封装_closePin到一个我可以管理其生命周期的类中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Windows 10 IoT上的UWP

来自分类Dev

内存泄漏在 Windows IoT 上播放视频 | UWP

来自分类Dev

UWP:模拟 Windows IoT 上特定坐标处的点击

来自分类Dev

C# UWP UI 调度器优化(Windows IoT Core)

来自分类Dev

Windows 10 IoT / UWP上的Azure存储库客户端?

来自分类Dev

Windows 10 IoT核心版和UWP中缺少或缺少AppDomain

来自分类Dev

UWP C# Windows 10 IoT datepicker & timepicker 更新系统日期和时间

来自分类Dev

UWP 控制台应用程序是否适用于 Windows 10 IoT

来自分类Dev

Windows IOT/UWP 在计时器上刷新 GridView,页面不闪烁

来自分类Dev

带有应用服务的 Windows 10 IoT Core UWP 后台应用程序

来自分类Dev

SpeechRecognizer无法正常工作,COMException:未注册类/ UWP App Windows IoT(10.0.10586)和Visual Studio 2015更新1

来自分类Dev

是否可以将Raspberry Pi 3上的Windows 10 IoT UWP C#应用程序连接到蓝牙耳机?

来自分类Dev

如何使用 Windows 10 IoT (UWP) 为 Raspberry Pi 3 创建可移植代码(.net 标准 2.0)?

来自分类Dev

Windows UWA(IoT)蓝牙RfcommService

来自分类Dev

Windows IOT中的语音语言

来自分类Dev

Windows 10 IoT 中的 ConnectionRefused

来自分类Dev

在Windows上使用PHP通过中继发送邮件

来自分类Dev

在Visual Studio Express 2010中继承Windows窗体

来自分类Dev

AppCenter + UWP + IoT = 无法初始化 SQLite 库

来自分类Dev

Windows IOT的网络限制是什么

来自分类Dev

Windows IoT-Mongodb-树莓派

来自分类Dev

哪些程序在Windows IoT上运行?

来自分类Dev

在Windows 10 IoT中安装商店应用

来自分类Dev

c#(Windows IoT)-Sleep()或Delay()吗?

来自分类Dev

Windows 10 IoT PI上的Redis

来自分类Dev

Windows 10 IoT-REST API部署

来自分类Dev

Windows IoT远程客户端滞后

来自分类Dev

Windows 10 IOT核心虚拟键盘?

来自分类Dev

屏幕键盘上的Windows IoT核心

Related 相关文章

  1. 1

    Windows 10 IoT上的UWP

  2. 2

    内存泄漏在 Windows IoT 上播放视频 | UWP

  3. 3

    UWP:模拟 Windows IoT 上特定坐标处的点击

  4. 4

    C# UWP UI 调度器优化(Windows IoT Core)

  5. 5

    Windows 10 IoT / UWP上的Azure存储库客户端?

  6. 6

    Windows 10 IoT核心版和UWP中缺少或缺少AppDomain

  7. 7

    UWP C# Windows 10 IoT datepicker & timepicker 更新系统日期和时间

  8. 8

    UWP 控制台应用程序是否适用于 Windows 10 IoT

  9. 9

    Windows IOT/UWP 在计时器上刷新 GridView,页面不闪烁

  10. 10

    带有应用服务的 Windows 10 IoT Core UWP 后台应用程序

  11. 11

    SpeechRecognizer无法正常工作,COMException:未注册类/ UWP App Windows IoT(10.0.10586)和Visual Studio 2015更新1

  12. 12

    是否可以将Raspberry Pi 3上的Windows 10 IoT UWP C#应用程序连接到蓝牙耳机?

  13. 13

    如何使用 Windows 10 IoT (UWP) 为 Raspberry Pi 3 创建可移植代码(.net 标准 2.0)?

  14. 14

    Windows UWA(IoT)蓝牙RfcommService

  15. 15

    Windows IOT中的语音语言

  16. 16

    Windows 10 IoT 中的 ConnectionRefused

  17. 17

    在Windows上使用PHP通过中继发送邮件

  18. 18

    在Visual Studio Express 2010中继承Windows窗体

  19. 19

    AppCenter + UWP + IoT = 无法初始化 SQLite 库

  20. 20

    Windows IOT的网络限制是什么

  21. 21

    Windows IoT-Mongodb-树莓派

  22. 22

    哪些程序在Windows IoT上运行?

  23. 23

    在Windows 10 IoT中安装商店应用

  24. 24

    c#(Windows IoT)-Sleep()或Delay()吗?

  25. 25

    Windows 10 IoT PI上的Redis

  26. 26

    Windows 10 IoT-REST API部署

  27. 27

    Windows IoT远程客户端滞后

  28. 28

    Windows 10 IOT核心虚拟键盘?

  29. 29

    屏幕键盘上的Windows IoT核心

热门标签

归档