gpt4 book ai didi

c# - 如何在微框架中实现中断?

转载 作者:行者123 更新时间:2023-12-03 20:37:22 26 4
gpt4 key购买 nike

我无法使用 VS2010 在 .NET 中为 stm32f4discovery 编译代码。

使用 NETMF 4.2

    using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;

namespace MFConsoleApplication1
{

public class Program
{
private static InterruptPort interruptPort;

public static void Main()
{
interruptPort = new InterruptPort(Cpu.Pin.GPIO_Pin2,
false,
Port.ResistorMode.PullUp,
rt.InterruptMode.InterruptEdgeLevelLow);

interruptPort.OnInterrupt += new NativeEventHandler(port_OnInterrupt);


Thread.Sleep(Timeout.Infinite);
}


private static void port_OnInterrupt(uint port, uint state, TimeSpan time)
{
Debug.Print("Pin=" + port + " State=" + state + " Time=" + time);
interruptPort.ClearInterrupt();
}
}
}

在编译时,我收到以下错误:“port_OnInterrupt”的重载不匹配委托(delegate)“Microsoft.SPOT.Hardware.NativeEventHandler”

如何编译代码?

我从“Expert .NET Micro framework”一书中获取了这个示例。

最佳答案

尽管文档指出最后一个参数是 TimeSpan,但我认为它确实是我一直在使用的 .net 微框架中的 DateTime

所以代替

 private static void port_OnInterrupt(uint port, uint state, TimeSpan time)

尝试

 private static void port_OnInterrupt(uint port, uint state, DateTime time)

另一个提示:而不是

 interruptPort.OnInterrupt += new NativeEventHandler(port_OnInterrupt);

你可以写

 interruptPort.OnInterrupt += port_OnInterrupt;

这是等效的,但更具可读性。

关于c# - 如何在微框架中实现中断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13789184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com