Большая аркадная кнопка Raspberry Pi Событие Windows IoT Core ValueChanged происходит непрерывно с переключением значений - PullRequest
0 голосов
/ 04 января 2019

Я только что купил новый Pi и вместе с ним обнаружил большую аркадную кнопку ЗДЕСЬ и несколько быстрых соединителей, найденных ЗДЕСЬ .Я посмотрел так много разных руководств о том, как делать то, что я хочу, на разных языках, но не смог найти ни одного, который бы прямо делал это в C #.

Отказ от ответственности: Я впервые подключаю что-либо к своей плате Pi. Я только когда-либо писал программное обеспечение для пользовательского интерфейса.

Вот мой код:

GpioPin button1;
        public MainPage()
        {
            this.InitializeComponent();

            SetupGpioPin();
        }


        private void SetupGpioPin()
        {
            // Get the default GPIO controller on the system
            GpioController gpio = GpioController.GetDefault();
            if (gpio == null)
                return; // GPIO not available on this system

            button1 = gpio.OpenPin(21);

            // Set the IO direction as Input
            button1.SetDriveMode(GpioPinDriveMode.Input);

            var curState = button1.Read();

            button1.ValueChanged += Pin_ValueChanged;
        }

        private void Pin_ValueChanged(GpioPin sender, GpioPinValueChangedEventArgs args)
        {
            Debug.WriteLine($"Pin Value: {button1.Read()}");
            Debug.WriteLine("Button Event has happened");
        }

У меня естьмоя кнопка настроена как таковая;белый разъем подключен к верхнему разъему на кнопочном переключателе, синий разъем подключен к заземлению?или сторона переключателя, которая вся черная.Затем совместите эти разъемы так, чтобы белые кабели подключались к контакту 40 на плате, а синий кабель - к контакту 39 на плате.

Я запускаю свой код, и событие ValueChanged запускается непрерывно, причем значение пина изменяется от High до Low.Нажатие на кнопку ничего не делает.

Желаемый результат заключается в том, что кнопка находится в низком положении, и при нажатии запускается событие «Значение изменено», и я могу сделать что-то, зная, что кнопка была нажата, а текущее значение - Высокое.

...