uwp中通用应用程序怎么用定时器

uwp中通用应用程序怎么用定时器,第1张

电脑出现这种情况,可以尝试以下方法解决: 1、运行输入msconfig回车,打开系统配置实用程序,在启动项目中查找一个为“rsdefense.exe,”,如果有将它前面的钩去掉,然后按应用确定。

入门指引

现在让我们把LED连接到安装了Windows10 IoT Core 的硬件设备,并创建一个应用程序来让它们闪烁。

在Visual Studio中加载工程

首先在这里找到例程,这里有C++和C#的版本可供选择。本教程仅介绍使用C#的版本。将工程文件夹拷贝到磁盘中,然后用Visual Studio打开。

然后检查你的Windows IoT设备,确保打开了远程调试功能(Remote Debugging),可以参考这里的Hello World程序。

请注意如果Windows 10找不到可用的GPIO接口,应用程序将不会工作。比如你将windows10安装在了VM虚拟机中。

将LED连接到 Windows 10 设备

准备好下面的东西:

一个LED灯

一个阻值220欧姆电阻

若干杜邦线和面包板

将LED的负极连接到Raspberry Pi2的GPIO 5引脚(Board编号29),正极串联嗲足后连接到3.3v电源。(请务必注意极性,在直插型封装的LED中,较长的引脚是正极+,较短的引脚是负极-)

部署应用程序

对于Raspberry Pi2来说,应该在architecture的下拉菜单中选择ARM。

以上的步骤都做好了以后。可以按下F5,程序会自动运行,然后就可以看到闪烁的LED和下面的模拟界面。

可以通过改变滑块的位置来调整LED闪烁的有效时间

代码详解

下面就是这个程序的代码,基本工作原理是当定时器的时间达到后,调用事件Tick改变LED的状态。

定时器代码

这里是设置定时器的C#代码

public MainPage()

{

// ...

this.timer = new DispatcherTimer()

this.timer.Interval = TimeSpan.FromMilliseconds(500)

this.timer.Tick += Timer_Tick

this.timer.Start()

// ...

}

private void Timer_Tick(object sender, object e)

{

FlipLED()

}

初始化GPIO引脚

为了能够驱动GPIO,首先需要对它进行初始化,这里是初始化程序的C#代码

using Windows.Devices.Gpio

private void InitGPIO()

{

var gpio = GpioController.GetDefault()

// Show an error if there is no GPIO controller

if (gpio == null)

{

pin = null

GpioStatus.Text = "There is no GPIO controller on this device."

return

}

pin = gpio.OpenPin(LED_PIN)

// Show an error if the pin wasn't initialized properly

if (pin == null)

{

GpioStatus.Text = "There were problems initializing the GPIO pin."

return

}

pin.Write(GpioPinValue.High)

pin.SetDriveMode(GpioPinDriveMode.Output)

GpioStatus.Text = "GPIO pin initialized correctly."

}

简单的解释就是:

~首先,使用GpioController.GetDefault()获取GPIO控制权限

~如果设备不具有可用的GPIO资源,则返回null

~接下来通过调用GpioController.OpenPin()函数来打开GPIO引脚

~当我们获取了GPIO的控制权限并打开了GPIO引脚后,使用GpioPin.Write()函数来将LED关闭(参数设置High)

~这里还使用了GpioPin.SetDriveMode()函数将GPIO引脚的工作模式设置为输出模式。

改变GPIO引脚的状态

使用GpioPinValue.Low参数打开LED:

this.pin.Write(GpioPinValue.Low)

使用GpioPinValue.High参数关闭LED:

this.pin.Write(GpioPinValue.High)

因为我们将LED的正极连接到了3.3V电源,所以这里通过将GPIO引脚置低电平来打开LED。

应用篇:

3D Builder:com.microsoft.builder3d:

*** 作中心:ms-actioncenter:

闹钟和时钟:ms-clock:

计算器:calculator:

日历:outlookcal:

相机:microsoft.windows.camera:

连接:ms-projection:

Cortana:ms-cortana:

Drawboard PDF:drawboardpdf:

Facebook:fb:

Feedback Hub:feedback-hub:

获取帮助:ms-contact-support:

Groove音乐:mswindowsmusic:

邮件:outlookmail:

地图:bingmaps:

Microsoft Edge:microsoft-edge:

Microsoft Solitaire Collection:xboxliveapp-1297287741:

我的世界Windows10版:minecraft:

混合现实相机:ms-holocamera:

混合现实门户:ms-holographicfirstrun:

电影和电视:mswindowsvideo:

新闻:bingnews:

OneNote:onenote:

画图3D:ms-paint:

人脉:ms-people:

设置:ms-settings:

Skype预览版:ms-projection:

商店:ms-windows-store:

商店-音乐:microsoftmusic:

商店-电影和电视:microsoftvideo:

提示:ms-get-started:

Twitter:twitter:

View 3D Preview:com.microsoft.3dviewer:

录音机:ms-callrecording:

天气:bingweather:

Windows Defender安全中心:windowsdefender:

Windows 混合现实环境:ms-environment-builder:

Windows 家长控制:ms-wpc:

Xbox:xbox:

Xbox – 好友列表:xbox-friendfinder:

Xbox – 资料页:xbox-profile:

Xbox – 网络设置:xbox-network:

Xbox – 设置:xbox-settings:

Xbox One SmartGlass:smartglass:

设置篇:

系统

显示:ms-settings:display

通知和 *** 作:ms-settings:notifications

电源和睡眠:ms-settings:powersleep

电池:ms-settings:batterysaver

应用电池使用量:ms-settings:batterysaver-usagedetails

存储:ms-settings:storagesense

平板模式:ms-settings:tabletmode

多任务:ms-settings:multitasking

投射到这台电脑:ms-settings:project


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8099880.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存