gpt4 book ai didi

C++ Arduino,一次运行两个循环?

转载 作者:行者123 更新时间:2023-11-28 00:43:55 25 4
gpt4 key购买 nike

好的,所以我最近才开始对 Arduino 进行编程,目前我有基本的闪烁功能以及一个 RGB LED 程序,可以将 LED 更改为蓝色、绿色和红色的渐变颜色。我有 2 个 LED,一个简单而基本的黄色 LED,应该用作“工作状态”的指示器。还有一个 RGB 的 LED。现在我希望 RGB 可以正常转换它的颜色,尽管我想让黄色 LED 一直闪烁。我应该如何编写代码以便两个进程可以同时运行?

最佳答案

类似于:

int timekeeper=0;
while (1)
{
do_fade(timekeeper);
if (timekeeper%100==0) {
do_blink_off();
}
if (timekeeper%100==50) {
do_blink_on();
}
delay(10);
timekeeper++;
}

这是根据内存完成的,因此您的里程可能会有所不同。我已将计时器传递给 do_fade(),因此您可以计算出您的淡入淡出有多远。 do_fade() 会更新淡入淡出,然后立即返回。 do_blink_on() 和 do_blink_off() 是相似的——改变你需要改变的,然后返回。在此示例中,do_fade() 将每 10 毫秒调用一次,do_blink_off() 每秒调用一次,do_blink_on() 在 1/2 秒后调用(依此类推,1/2 秒,关闭,1/2 秒,打开,1/2 秒...)

关于C++ Arduino,一次运行两个循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17356368/

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