我正在尝试使arduino上的LED闪烁,而不使用setup()和loop()中的millis()以外的任何功能。这是我到目前为止的内容:
long previousMillis = 0;
long interval = 1000;
void setup()
{
DDRB = DDRB | B11111100;
}
void loop()
{
if ((unsigned long)(millis() - previousMillis) >= interval)
{
if ( PORTB == B00000000)
PORTB = B00100000;
else
PORTB = B00000000;
}
}
它所做的只是使灯光一直点亮并保持点亮。我将不胜感激任何帮助!谢谢!
最佳答案
您根本不需要重置previousMillis
,因此一旦(millis() - previousMillis) >= interval
为true,它将永远保持为true。
这意味着您的灯会如此快地闪烁,它看起来就像是永久点亮。
添加:previousMillis = millis()
到loop()函数的末尾。
关于c++ - 如何使用C++在Arduino上制作LED闪光灯,但不使用millis()之外的任何功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30022790/