怎么设置一个UWP应用开机自启动
答案:2 悬赏:40 手机版
解决时间 2021-03-02 09:51
- 提问者网友:嘚啵嘚啵
- 2021-03-01 18:37
怎么设置一个UWP应用开机自启动
最佳答案
- 五星知识达人网友:孤老序
- 2021-03-01 19:19
UWP开发:APP之间的数据交互(以微信为例)
UWP中APP唤醒机制、数据Share
UWP中APP唤醒机制、数据Share
全部回答
- 1楼网友:舍身薄凉客
- 2021-03-01 20:58
入门指引
现在让我们把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。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯