我正在尝试在带有ATmega328板的Arduino Nano上执行此ino代码(LED灯),但是我收到了<“错误。
任何想法可能是什么原因?我使用的是Ubuntu 14.04。#include "FastLED.h"
#define NUM_LEDS 6
CRGB leds[NUM_LEDS];
void setup() {
LEDS.addLeds<TM1803>(leds, NUM_LEDS);
}
[TM1803
是declared 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_PIN
和RGB_ORDER
,无论它们是什么意思:
LEDS.addLeds<TM1803, SOME_DATA_PIN, SOME_RGB_ORDER>(leds, NUM_LEDS); LEDS.addLeds<TM1803, SOME_DATA_PIN>(leds, NUM_LEDS);
#include <FastLED.h>
//#define DEBUG 1
#define LED_TYPE WS2812
#define NUM_LEDS 64
#define DATA_PIN A14
CRGB leds[NUM_LEDS];
void setup()
{
FastLED.addLeds<LED_TYPE, DATA_PIN>(leds, NUM_LEDS);
}
我使用WS2812作为猜测,因为我的矩阵LED是WS2812B-64。显然第一部分就足够了。