如何使用for循环使单个LED Flink ?(c++)(Mbed Studio)(Nucleo Board)

wribegjk  于 2022-12-05  发布在  Flink
关注(0)|答案(1)|浏览(276)

我是一个完全的编码菜鸟,但我试图让所有的LED的 Flink 5次,而特别是使用一个for循环(它必须是一个for循环)。LED的问题是连接到总线(也必须是这样)与整数分配76。
编辑:当我尝试一个简单的for循环,计数器为5,然后在语句中打开和关闭LED时,它只做一次。如果可能的话,将LED Flink 分配给for循环中的计数可能会更简单?
到目前为止,我的想法是要么设计一个for循环,重复相同的数字两个数字5次(76和0)并将总线分配给语句中的计数,但我正在努力了解如何仅执行5次此操作(我的大脑只能感知到创建一个无休止重复的嵌套循环)或者以某种方式嵌套一个for循环,在内部循环上执行所需的操作,从外部循环开始计数。
谁能告诉我我是否走在正确的轨道上,如果是这样,如何运行我的第一个想法只5次或分配我的总线行动到我的外循环的第二个?
到目前为止的代码如下,但我只设法让LED打开。

PortOut traffic(PortC, 0b0000000001001100);

// The default flash rate is once per second for all tasks

int main()
{
int i;
int b;
traffic = 0;



    // 1. Flash the ALL the LEDs 5 times using a for loop, when finished the LEDs must be OFF

    for (i = 0; i < 5; i= i + 1)
    {
    (printf("i%d\n", i));

    for (b = i; b < 5;)
    { 
         traffic = 76;
    wait_us(1000000);
    traffic = 0;
    }
    }

非常感谢你
乔乔
尝试嵌套for循环以重复相同的两个整数5次,以便将总线分配给计数,但最终只能无休止地重复for循环。
尝试嵌套for循环以在外循环上计数到5,并在内环上 Flink LED,仅成功打开LED一次。

bkhjykvo

bkhjykvo1#

你的外环正在计算脉冲的数量。
循环的内容决定LED开启或关闭的频率:

for (int counter = 0; counter < 5; ++counter)
{
    // Turn on the LEDs
    traffic = 76;

    // Wait while the LEDs are on.
    waitus(1000000);

    // Turn OFF the LEDs
    traffic = 0;

    // Wait while the LEDs are OFF.
    waitus(1000000);
} // End of a pulse

问题是,你有一个延迟后,你打开他们 * 和LED关闭后 *。它们不需要同时打开和关闭。延迟也应该能够调节亮度。

相关问题