C# 在具有uno平台的Raspberry Pi 4 B上使用Gpio
我真的希望我不是唯一一个有这个问题的人 (我删除了我之前的问题,因为它似乎有点误导,所以这是我的第二次尝试) 我尝试使用Uno应用程序使用Rasbery pi 4b GPIO引脚: 我的设置: 我以前在Console应用程序中尝试过,它可以工作: 控制台应用程序代码:C# 在具有uno平台的Raspberry Pi 4 B上使用Gpio,c#,raspberry-pi4,uno-platform,pigpio,C#,Raspberry Pi4,Uno Platform,Pigpio,我真的希望我不是唯一一个有这个问题的人 (我删除了我之前的问题,因为它似乎有点误导,所以这是我的第二次尝试) 我尝试使用Uno应用程序使用Rasbery pi 4b GPIO引脚: 我的设置: 我以前在Console应用程序中尝试过,它可以工作: 控制台应用程序代码: using System; using System.Device.Gpio; namespace ConsoleApp1 { class Program { static void Main(string[] ar
using System;
using System.Device.Gpio;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Startet");
int pin = 17;
GpioController controller = new GpioController();
controller.OpenPin(pin, PinMode.Output);
Console.WriteLine("Enter to Turn HIGH");
Console.Read();
Console.WriteLine("is HIGH");
controller.Write(pin, PinValue.High);
Console.WriteLine("Enter to Turn LOW");
Console.Read();
Console.WriteLine("is LOW");
controller.Write(pin, PinValue.Low);
}
}
}
上面的代码运行良好。现在我在UNO的尝试:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using System.Device.Gpio;
namespace App1
{
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
bool SwitchOnOffReminder;
private void Test_Click(object sender, RoutedEventArgs e)
{
int pin = 17;
GpioController controller = new GpioController();
controller.OpenPin(pin, PinMode.Output);
Ausgabe.Text = "Meldung\n";
Ausgabe.Text = Ausgabe.Text + controller.GetPinMode(pin).ToString();
if (SwitchOnOffReminder== false)
{
SwitchOnOffReminder= true;
Ausgabe.Text = Ausgabe.Text + "Pin HIGH";
controller.Write(pin, PinValue.High);
}
else
{
SwitchOnOffReminder= false;
Ausgabe.Text = Ausgabe.Text + "Pin LOW";
controller.Write(pin, PinValue.Low);
}
}
}
}
结果:它不工作,Raspberry控制台显示:
Gtk上不支持Uno.UI.Runtime.skia.GtkCoreWindowsExtension[0]指针捕获版本”
有人能帮我吗?正如@JérômeLaban在评论中回答的那样: 您可以在此处找到解决方案:
github.com/unoplate/uno/issues/3813您要将哪个nuget软件包添加到您的应用程序中?如果它是
System.Device.Gpio
,您可能会遇到此问题:。另外,Ausgabe.Text
是否在单击时被更改?@JôrômeLaban是的,正是我需要的!谢谢