【问题标题】:How do I call functions before setup? Or make a neopixels initializer before setup?设置前如何调用函数?或者在设置之前制作一个新像素初始化器?
【发布时间】:2016-05-17 16:28:51
【问题描述】:

我需要一只手。我试图弄清楚如何洗牌一些新像素针。现在,我有一个打乱引脚的功能,但我不知道如何定义这些引脚并启动条带。我这里有一个粘贴箱:

http://pastebin.com/kzAv95Yr

基本上让我难过的是:

NeoPatterns Strip1(32, neoPixelPins[0], NEO_GRB + NEO_KHZ800, &StripComplete); 

我无法将其移至设置功能。所以我无法在设置中的 shufflepins() 之后执行此操作,也无法将 Strip1.begin() 等移出函数或进入 loop() 的开头。

所以。我怎样才能做到这一点?我需要先洗牌,然后定义我的条带,然后启动它们。这需要可重复使用,因为在游戏结束时,它会重新洗牌并重新开始。

我将阅读以下内容:Call a function before main

但如果有人可以帮我解决这个问题,我将不胜感激。我是 C++ 新手。

关于 neopatterns 类的来源的参考:https://learn.adafruit.com/multi-tasking-the-arduino-part-3/using-neopatterns

【问题讨论】:

    标签: c++ function class arduino


    【解决方案1】:

    你想洗牌,但你想在调用构造函数之前这样做,是这样吗?

    更简单,只需在设置中调用Adafruit_NeoPixel::setPin,一旦你洗牌了。因此,您可以在构造函数中传递任何旧的引脚编号,然后更改它们。

    我要通读一遍:在 main 之前调用一个函数

    不要走那条路,它不必要地复杂。


    你能在设置中为 Adafruit_NeoPixel::setPin 举一个例子吗?

    类似这样的:

      Strip1.begin();
      Strip2.begin();
      Strip3.begin();
    
      Strip1.setPin (3);  // or whatever
      Strip2.setPin (4);
      Strip3.setPin (5);
    

    我只是举了一个简单的例子,你可以做你的洗牌并将生成的引脚填充到这三个函数调用中。现在您不必担心在制作 Strip1/Strip2/Strip3 之前进行洗牌。

    【讨论】:

    • 是的!而已。回复:我想在调用构造函数之前洗牌。你能在设置中为 Adafruit_NeoPixel::setPin 举一个例子吗?
    猜你喜欢
    • 1970-01-01
    • 2011-01-08
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 2020-02-20
    相关资源
    最近更新 更多