gpt4 book ai didi

c++ - 没有匹配函数来调用 'CFastLED::addLeds(CRGB [6], int)

转载 作者:行者123 更新时间:2023-11-28 06:31:21 25 4
gpt4 key购买 nike

我正在尝试在带有 ATmega328 板(LED 灯)的 Arduino Nano 上执行此 ino 代码,但我得到“没有匹配函数来调用 'CFastLED::addLeds(CRGB [6], int)”错误。

知道可能是什么原因吗?我在 Ubuntu 14.04 上。

#include "FastLED.h"
#define NUM_LEDS 6
CRGB leds[NUM_LEDS];

void setup() {
LEDS.addLeds<TM1803>(leds, NUM_LEDS);
}

最佳答案

我没有使用 Arduino 的经验,但这是我在阅读后未理解的内容 FastLED.h .

TM1803declared as :

template<uint8_t DATA_PIN, EOrder RGB_ORDER>
class TM1803 : public TM1803Controller400Khz<DATA_PIN, RGB_ORDER> {};

因此 LEDS.addLeds() 应该以某种方式调用 these two overloads 之一:

template<template<uint8_t DATA_PIN, EOrder RGB_ORDER> class CHIPSET, uint8_t DATA_PIN, EOrder RGB_ORDER>
static CLEDController &addLeds(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset = 0) {
static CHIPSET<DATA_PIN, RGB_ORDER> c;
return addLeds(&c, data, nLedsOrOffset, nLedsIfOffset);
}

template<template<uint8_t DATA_PIN, EOrder RGB_ORDER> class CHIPSET, uint8_t DATA_PIN>
static CLEDController &addLeds(struct CRGB *data, int nLedsOrOffset, int nLedsIfOffset = 0) {
static CHIPSET<DATA_PIN, RGB> c;
return addLeds(&c, data, nLedsOrOffset, nLedsIfOffset);
}

因此您必须在模板参数中指定 DATA_PIN 或同时指定 DATA_PINRGB_ORDER,无论它们是什么意思:

LEDS.addLeds<TM1803, SOME_DATA_PIN, SOME_RGB_ORDER>(leds, NUM_LEDS); 
LEDS.addLeds<TM1803, SOME_DATA_PIN>(leds, NUM_LEDS);

关于c++ - 没有匹配函数来调用 'CFastLED::addLeds(CRGB [6], int),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27475951/

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