如果我尝试打开 PWM 引脚,Windows 10 Iot Core 应用程序会崩溃

2024-03-10

我想为我的蜂鸣器打开一个 PWM 引脚。但如果我尝试打电话给pwmController.OpenPin(6)方法,应用程序崩溃并显示System.Runtime.InteropServices.SEHException.

我已经仔细检查过示例来源,例如ms-物联网样本 https://github.com/ms-iot/BusProviders/blob/develop/PWM/SamplePwmConsumer/StartupTask.cs。但我看不到我的问题是什么。

一个想法是缺少一些权限,但如果我尝试添加例如<iot:Capability Name="lowLevelDevices" />,我无法再构建该应用程序。

Source

private PwmPin buzzerPin;
private PwmController pwmController;

public RainbowHAT()
{
    // ... do something else
    InitAsync();
}

private async void InitAsync()
{
    Logger.Log(this, "Init");

    // Setup PWM controller.
    if (LightningProvider.IsLightningEnabled)
    {
        LowLevelDevicesController.DefaultProvider = LightningProvider.GetAggregateProvider();
    }

    var pwmControllers = await PwmController.GetControllersAsync(LightningPwmProvider.GetPwmProvider());
    if (pwmControllers == null || pwmControllers.Count < 2)
    {
        throw new OperationCanceledException("Operation canceled due missing GPIO controller");
    }

    pwmController = pwmControllers[1];
    pwmController.SetDesiredFrequency(50);

    // Setup buzzer
    buzzerPin = pwmController.OpenPin(13); <-- CRASH
    buzzerPin.SetActiveDutyCyclePercentage(0.05);
    buzzerPin.Start();
}

我也尝试了以下方法减少所需的最低 Windows 版本的提示 https://stackoverflow.com/questions/49461643/initiate-pwm-on-a-raspberry-pi-runs-in-a-sehexception,但这也没有帮助。


PWM控制器需要Lightning支持。所以你需要将控制器驱动程序设置为直接内存映射驱动程序 https://learn.microsoft.com/en-us/windows/iot-core/develop-your-app/lightningproviders. Here https://github.com/paks/pwm是一个关于 Raspberry Pi 上 PWM 的示例。

您还需要修改代码如下:

    private async void InitAsync()
    {
        Logger.Log(this, "Init");

        // Setup PWM controller.
        if (LightningProvider.IsLightningEnabled)
        {
            var pwmControllers = await PwmController.GetControllersAsync(LightningPwmProvider.GetPwmProvider());
            if (pwmControllers == null || pwmControllers.Count < 2)
            {
                throw new OperationCanceledException("Operation canceled due missing GPIO controller");
            }

            pwmController = pwmControllers[1];
            pwmController.SetDesiredFrequency(50);

            // Setup buzzer
            buzzerPin = pwmController.OpenPin(13);
            buzzerPin.SetActiveDutyCyclePercentage(0.05);
            buzzerPin.Start();
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果我尝试打开 PWM 引脚,Windows 10 Iot Core 应用程序会崩溃 的相关文章

  • Qt 图表和数据可视化小部件

    我已经安装了 Qt 5 7 来尝试 Qt 图表和 Qt 数据可视化 但我在 Qt Designer 和 Qt Creator 中都找不到新的小部件 有什么建议我应该做什么才能让新的小部件出现在设计器中 我今天遇到了完全相同的问题 默认情况下
  • X11 模式对话框

    如何使用 Xlib 在 X11 中创建模式对话框 模态对话框是一个位于应用程序其他窗口之上的窗口 就像瞬态窗口一样 并且拒绝将焦点给予应用程序的其他窗口 在 Windows 中 当试图从模态窗口夺取焦点时 模态也会通过闪 烁模态窗口的标题栏
  • 使用 Json.NET 序列化子类

    我正在尝试使用 Json NET 序列化子类 生成的 json 包含超类的序列化属性 但是not子类对象的属性 这似乎与我发现的一个问题有关这里就这样 https stackoverflow com q 5863496 498969 但必须
  • 自动映射器多对多 stackoverflowException

    我遇到以下映射的堆栈溢出 Mapper CreateMap
  • 将字符串作为 PChar 从 CSharp 传递到 Delphi DLL

    我正在尝试将字符串从 C 传递到 Delphi 构建的 DLL Delphi DLL 需要 PChar 这是Delphi导出 procedure DLL Message Location PChar AIntValue integer st
  • 嵌入资源文件的路径

    我的资源文件中有一个图标 我想引用它 这是需要图标文件路径的代码 IWshRuntimeLibrary IWshShortcut MyShortcut MyShortcut IWshRuntimeLibrary IWshShortcut W
  • 组合框下拉位置

    我有一个最大化的表单 其中包含 500px 的组合框控件 停靠在右上角 Width 尝试打开组合框后 列表的一半超出了屏幕 如何强制列表显示在表单中 棘手的问题 我找不到解决这个问题的好办法 只是一个解决方法 添加一个新类并粘贴如下所示的代
  • 处理“未找到细胞”。 Excel 中的错误

    我正在使用 Excel VSTO 应用程序并使用以下代码在工作表中查找错误单元格 Excel Range rngTemp Excel Range rngErrorRange Excel Worksheet Sheet1 Excel Work
  • 如何让XmlReader读取C#中的属性?

    我有一个 XML Stream 其中包含以下 XML 内容
  • 我在使用 ado.net 时收到错误 Argument 2 may not be pass with ref keywords

    int t 0 cmd Parameters AddWithValue Res ref t 我在第二行收到错误 参数 2 不能与 ref 关键字一起传递 您只能通过引用传递参数ref if the 范围 is a ref参数也是如此 Add
  • 如何构建一棵与或树?

    我需要一个支持 与 和 或 的树结构 例如 给定一个正则表达式 如ab c d e 我想把它变成一棵树 所以 一开始我们有两个 或 分支 它可以向下ab or c d e 如果你低头ab分支 你得到两个节点 a and b or a其次是b
  • 使用数据绑定,如何将包含表情符号的文本绑定到标签并使其正确显示?

    我正在编写一个应用程序来连接 WordPress BuddyPress API 该应用程序将允许用户通过 API 相互发送消息 当这些消息包含表情符号时 我很难正确显示它们 以下是 API 返回的消息文本的简短示例 Hi x1f642 ho
  • DataGridView 行背景颜色没有改变

    我想根据加载时的特定条件更改 DGV 行的背景颜色 即使在 Windows 窗体中也是如此 但我看不到任何 DGV 行的颜色有任何变化 谁能告诉我如何解决这个问题 private void frmSecondaryPumps Load ob
  • 传递数组时在 C 中的函数参数中强制指定数组大小

    Context 在 C 中 我有一个以数组作为参数的函数 该参数用作该函数的输出 输出的大小始终相同 我会 让阅读代码的人清楚所需的大小 不过它已经在函数注释中了 理想情况下 编译会输出警告或错误 这样我就可以在编译时而不是运行时防止出现问
  • Type.GetInterfaces() 仅适用于声明的接口

    首先 像这样的问题有很多 也许有些OP甚至在问同样的问题 问题是这些问题的答案 无论是否接受 都没有真正回答这个问题 至少我找不到 如何确定类直接声明的接口 而不是由父级或声明的接口继承的接口 e g interface I interfa
  • 连接到没有元数据的网络服务

    我想连接到此网络服务 https training api temando com schema 2009 06 server wsdl https training api temando com schema 2009 06 serve
  • C 变量声明的效率 [重复]

    这个问题在这里已经有答案了 例如 在 C 中声明一个变量需要多长时间int x or unsigned long long var 我想知道它是否会让我的代码在类似的事情中更快 for conditions int var 0 code 这
  • “1个未解决的外部”C++

    我已经检查了所有文件之间的连接以及类和函数定义 但每次我尝试运行我的程序时 它都会阻止我并告诉我它有 1 个未解析的外部 该程序应该打开多个文件 一个 学生 文件和一个 成绩 文件 从中读取数据 然后使用 查询文件 来查找数据 找到查询中要
  • 使用 CodeDOM 将程序集添加到 BuildManager 会导致间歇性错误

    我正在使用 CodeDOM 在运行时创建内存中程序集 如下所示 public Assembly Compile CodeCompileUnit targetUnit string path Path GetDirectoryName new
  • 在windows + opengl中选择图形设备

    我知道如何使用 openGL 打开窗口 使用 Win32 或其他工具包 但是当系统有2块显卡时 如何选择要渲染的图形设备 我的编程语言是 C 我专注于 Windows 但任何示例都将受到欢迎 编辑 也许更好地解释我的问题是个好主意 以便添加

随机推荐

  • SQL 差异的原因

    尽管存在 SQL 的 ANSI 标准 但为什么 SQL 发行版如此不标准 SQL 数据库的工作方式真的有那么多有意义的差异吗 还是只是我一直使用的两个数据库 MS SQL 和 PostgreSQL 为什么会出现这些差异 ANSI 标准仅指定
  • 如何检查VC++生成的二进制exe的运行时库类型

    用于对现有构建 二进制文件集 exe dll lib 进行故障排除 有没有办法使用 SDK 或其他实用程序中的命令行工具来快速检查目标文件编译时所针对的运行时库类型 例如 给定的 dll 显然是针对动态运行时编译的 但如果它是调试或发布版本
  • AngularJS $resource 使用方法时调用错误的 API URL:POST

    这不是最容易放入标题的问题 无论如何 我的应用程序是建立在nodejs expressjs并为 url 设置了 API 编辑 我当前使用的代码是 scope updateProduct resource api updateProduct
  • 如何禁用 ReactJs 的 laravel 路由

    我在 Laravel 上的应用程序中遇到了路由问题 因为我在 laravel 资源目录中使用 ReactJs 路由 使用 laravel 5 3 和最新的 React Js 资源 资产 js src Route js const route
  • 如何使用 libjpeg-turbo 编译 OpenCV?

    我在我的一个 C 项目中在 OS X Lion 上使用 OpenCV 2 3 1 虽然我的项目按原样运行得很好 但它很大程度上依赖于 JPEG 解码和编码 我想通过使用 libjpeg turbo 来获得加速 但我找不到与 libjpeg
  • C# 控制台应用程序中 public static void Main() 和 private static void Main() 有什么区别?

    有什么区别 public static void Main and private static void Main 在 C 控制台应用程序中 具体来说 因为它涉及Main 方法 我理解之间的区别public and private 要作为
  • 如何删除谷歌表格中带有标题的空列?

    我有下面的代码可以帮助我删除右端的所有空列 但我在工作表之间也有空列 并且所有这些空列都带有标题 我想删除带标题的空列 有人可以帮助我吗 function removeEmptyColumns var ss SpreadsheetApp g
  • 使用 f:param 传递参数时 f:ajax 不起作用

    我正在单击链接时调用一个方法 以下代码可以使用ajax方式工作
  • 如何使用 Grafana 和 Wamp 的 LDAP 身份验证进行单点登录?

    我正在尝试使用 LDAP 为 grafana 添加单点登录 我遇到过LDAP 的 Grafana 文档 http docs grafana org installation ldap 但我不明白 我可以使用 LDAP 获得单点登录功能吗 如
  • 使用 VSIX 部署包含项目模板 IWizard 的程序集

    我已经为 VS 2010 创建了一个部署项目模板的扩展 项目模板使用自定义向导 在特定程序集中 当我基于此模板创建新项目时会调用该向导 我想将包含向导的程序集打包在 VSIX 中 以便将其部署到模板可以找到它的地方 我知道 GAC 不是 V
  • 转换集合

    有一个对象的集合 示意图 A 1 B 1 A 1 B 2 A 2 B 3 A 2 B 4 A 1 B 5 A 3 B 6 Need A 1 Bs 1 2 A 2 Bs 3 4 A 1 Bs 5 A 3 Bs 6 可以这样 LINQ 吗 No
  • UITextView 触摸事件未触发

    我有一个UITextView我想检测一次点击 看起来我只需覆盖就可以了touchesEnded withEvent并检查 touches anyObject tapCount 1 但是这个事件甚至没有触发 如果我像这样重写 4 个事件 vo
  • 如何修复:预期具体生命周期,但发现绑定生命周期参数

    我目前正在听这个问题 我试图将其缩小到最小的可重现示例 struct Request struct ResponseWriter lt a gt dummy a deriving Clone pub struct RouteStore pu
  • 为什么 MIPS 中 bgezal 和 bltzal 是基本指令而不是伪指令?

    根据这个MIPS指令参考 http www weblearn hs bremen de risse RST docs MIPS mips isa pdf 有两条指令 bgezal and bltzal 如果分支被采用 则执行相对跳转和链接
  • 更改 .NET 应用程序配置文件名

    我有一个调用 NET 程序集的 VB6 应用程序 该程序集引用 app config 文件中的设置 默认情况下 NET 查找以 VB6 应用程序命名的配置文件 如何将其重定向以使用不同的配置文件名 这需要成为默认配置文件 以便例如从中读取
  • 如何从apache Spark框架读取XML文件?

    我确实在这里遇到了一个使用 Spark 进行数据预处理的迷你教程 http ampcamp berkeley edu big data mini course featurization html http ampcamp berkeley
  • 如何在 pandas 中旋转分类变量?

    如何透视这些数据 date low up d1 a A d1 b B d2 c C 进入这个 low a b c date d1 A B NaN d2 NaN NaN C 我正在使用pivot table pivot 但它总是要求输入数字
  • 矩阵的边界值问题

    问题 我需要将 P 矩阵的每个元素限制在 1 1 范围内 我已经使用了代码最小最大检查 http www mathworks in matlabcentral fileexchange 43251 bound values of an ar
  • 向 scatter3d 图添加图例

    rgl 是交互式 3D 绘图的可能软件包之一 我想做的是根据一些因子变量构建带有颜色编码的 3D 散点图 3D 维度散点图用于 plsr 分析产生的载荷 结果图看起来像 The 示例数据在表中给出 gt loadings Comp 1 Co
  • 如果我尝试打开 PWM 引脚,Windows 10 Iot Core 应用程序会崩溃

    我想为我的蜂鸣器打开一个 PWM 引脚 但如果我尝试打电话给pwmController OpenPin 6 方法 应用程序崩溃并显示System Runtime InteropServices SEHException 我已经仔细检查过示例