gpt4 book ai didi

c# - 如何通过按钮控制将 Fez Panda II 设置为 'Sleep' 模式?

转载 作者:太空宇宙 更新时间:2023-11-03 15:52:54 25 4
gpt4 key购买 nike

我有一个 Fez Panda 2,带有一个连接到引脚 Di20 的简单开关。我把它声明为

static InputPort MySwitch = new InputPort((Cpu_Pin)FEZ_Pin.Digital.Di20, false, Port.ResistorMode.PullUp);

我的程序中有几个线程,其中一个运行了一个 while(true) block ,我想在其中使用:

while(true)
{
if(MySwitch.Read()== false)
{
//put FEZ to sleep
LED.State = LED.LedState.Off; //I have an LED class to set LED on or off
}
else
{
//wake up FEZ
LED.State = LED.LedState.Off;
}
}

关于如何实现此目的以便 Fez 将“休眠”直到更改此按钮有任何想法吗?

我听说允许一个中断端口,但我不确定这在这种情况下是否有用/可行。我连接了几个 COM 端口,并希望这些连接“关闭”并因此“停止”所有传输。正是由于这些串口,事实证明很难“仅使用中断端口”,而且我需要“禁用”那里的通信(串口使用 COM1、COM3 和 COM4,有规律的数据流动)。

关于如何解决这个问题有什么建议吗?

最佳答案

下面的低功耗状态示例取自此处: https://www.ghielectronics.com/docs/141/low-power

using Microsoft.SPOT.Hardware;
using System;

public class Program
{
public static void Main()
{
var interrupt = new InterruptPort(Cpu.Pin.GPIO_Pin0, true, Port.ResistorMode.PullUp, Port.InterruptMode.InterruptEdgeHigh);
interrupt.OnInterrupt += interrupt_OnInterrupt;

PowerState.Sleep(SleepLevel.DeepSleep, HardwareEvent.OEMReserved1);

///Continue on with your program here
}

private static void interrupt_OnInterrupt(uint data1, uint data2, DateTime time)
{
//Interrupted
}
}

关于c# - 如何通过按钮控制将 Fez Panda II 设置为 'Sleep' 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25057660/

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