コード例 #1
0
 private void MainPage_Unloaded(object sender, RoutedEventArgs e)
 {
     if (led != null)
     {
         led.Off();
         led.Dispose();
         led = null;
     }
 }
コード例 #2
0
        private async void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            if (ApiInformation.IsApiContractPresent("Windows.Devices.DevicesLowLevelContract", 1))
            {
                try
                {
                    var gpio = await Windows.Devices.Gpio.GpioController.GetDefaultAsync();

                    if (gpio != null)
                    {
                        var provider = PwmProviderSoftware.GetPwmProvider();
                        if (provider != null)
                        {
                            var controllers = (await PwmController.GetControllersAsync(provider));
                            if (controllers != null)
                            {
                                var controller = controllers.FirstOrDefault();
                                if (controller != null)
                                {
                                    controller.SetDesiredFrequency(100);
                                    var pinR = controller.OpenPin(5);
                                    var pinB = controller.OpenPin(6);
                                    var pinG = controller.OpenPin(13);
                                    led = new RgbLed(pinR, pinG, pinB);
                                    led.On();
                                    led.Color = Colors.White;
                                    Task.Delay(50).Wait();
                                    led.Color = Colors.Black;
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.Message);
                }
                timer.Start();
            }
        }