我正在使用Visual Studio 2017 for ARM平台(带有Windows iOT的Raspberry Pi 3 B +)进行开发。我正在寻找timeSetEvent
中的mmiscapi2.h
函数。不幸的是,该功能在ARM平台上不可用。
是否有另一个头文件可以代替mmiscapi2.h
和timeSetEvent
?还是应该为ARM使用其他函数n?
我遇到很多困难,不知道我是否清楚。如果没有,请提出问题。
谢谢。
答案 0 :(得分:1)
timeSetEvent是桌面API,已过时。新应用程序应使用CreateTimerQueueTimer创建计时器队列计时器。
不幸的是,Windows 10 IoT核心版不支持CreateTimerQueueTimer。 Windows 10 IoT Core only supports a subset of the Win32 and .Net API surface area available on various prior versions of Windows。
UWP是Windows IoT核心版上的主要应用程序类型。在UWP中,您可以使用ThreadPoolTimer和DispatcherTimer定期创建计时器。
您可以参考“ HelloBlinkyBackground”和“ HelloBlinky”示例以了解如何使用它们。
更新:这是UWP中的DispatcherTimer示例。
MainPage.xaml.cpp
#include "pch.h"
#include "MainPage.xaml.h"
using namespace App5;
using namespace Platform;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
using namespace Windows::UI::Xaml::Controls::Primitives;
using namespace Windows::UI::Xaml::Data;
using namespace Windows::UI::Xaml::Input;
using namespace Windows::UI::Xaml::Media;
using namespace Windows::UI::Xaml::Navigation;
// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
MainPage::MainPage()
{
InitializeComponent();
timer_ = ref new DispatcherTimer();
TimeSpan interval;
interval.Duration = 500 * 1000 * 10;
timer_->Interval = interval;
timer_->Tick += ref new EventHandler<Object ^>(this, &MainPage::OnTick);
timer_->Start();
}
void MainPage::OnTick(Object ^sender, Object ^args)
{
}
MainPage.xaml.h
//
// MainPage.xaml.h
// Declaration of the MainPage class.
//
#pragma once
#include "MainPage.g.h"
namespace App5
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public ref class MainPage sealed
{
public:
MainPage();
private:
void OnTick(Platform::Object ^sender, Platform::Object ^args);
Windows::UI::Xaml::DispatcherTimer ^timer_;
};
}
C ++ UWP项目结构: