我正在编写一个 Netduino 3 程序,该程序将控制转向灯和其他用于 hayrides 的继电器。我的程序是在我拿到设备之前编写的,所以我不确定它的工作情况,但我已经遇到了其中一个按钮 ( hazardButton
) 的问题。应用3.3v
时不会导致中断触发。应用5v
也是如此,但是在应用GND
时会触发中断,但在重新应用GND
时不会关闭中断。
这是我的代码:
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;
namespace Tractor_Mate
{
public class Program
{
static InterruptPort hazardButton = new InterruptPort(Pins.GPIO_PIN_D0, false, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeBoth);
static OutputPort hazardLights = new OutputPort(Pins.ONBOARD_LED, false);
static bool hazardsActive = false;
public static void Main()
{
Debug.Print("Initializing Inputs... ");
hazardButton.OnInterrupt += new NativeEventHandler(hazardButton_OnInterrupt);
Thread.Sleep(Timeout.Infinite);
}
static void hazardButton_OnInterrupt(uint data1, uint data2, DateTime time)
{
while (data2 == 0)
{
hazardLights.Write(true);
Thread.Sleep(500);
hazardLights.Write(false);
Thread.Sleep(500);
hazardsActive = true;
}
hazardsActive = false;
}
}
}
我遇到了问题,Hazard Lights
还没有尝试过其他任何一个。我将按钮连接起来,这样当针脚移动时HIGH
它就会触发,然后当LOW
它关闭时。