C# · 12月 27, 2021

c# – 在Netduino板上使用.NET Micro Framework进行更大的时间分辨率(用于调光LED)?

我正在使用.NET Micro Framework 4.1编程一个 Netduino板,并希望获得比毫秒更高的时间分辨率.这是因为我试图通过快速闪烁来调暗LED.

问题是示例代码使用了几个毫秒的Thread.Sleep(..).

来自http://netduino.com/projects/的示例代码显示了问题:

OutputPort ledOnboard = new OutputPort(Pins.ONBOARD_LED,false);while (true){ ledOnboard.Write(true); Thread.Sleep(1); // << PROBLEM: Can only get as low as 1 millisecond

即使有另一种方法通过不使用更大的时间分辨率来完成调光,我是游戏.

解决方法 这并不能解答您获得更好的时间分辨率的问题,但它可以解决您在更改 LED亮度的问题.您应该使用 PWM模块进行Netduino.

Netduino Basics: Using Pulse Width Modulation (PWM)是一篇关于如何使用它的伟大文章.