0
我正在研究一個需要使用具有360個LED的WS2812B LED燈條的項目。我正在使用Adafruit_NeoPixel.h
庫來驅動LED燈條。我有一門叫燈的課,負責驅動LED。Arduino Adafruit Neonpixel返回0像素
這裏是我的代碼片段:
//---- in Lights.h
private:
Adafruit_NeoPixel m_LedStrip;
//----------------------------------------
//--- in Lights.cpp
Lights::Lights()
{
m_LedStrip = Adafruit_NeoPixel(360, m_LedPin, NEO_GRB + NEO_KHZ800);
#if defined (__AVR_ATtiny85__)
if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
#endif
m_LedStrip.begin();
Serial.print("m_LedStrip.numPixels() is ");
Serial.println(m_LedStrip.numPixels());
}
//----------------------------------------
我的方式上Arduino的納米工作瓦特/ ATmega328。
現在,m_LedStrips.numPixels()
顯示它有0像素。奇怪的是,當我把像素的數量設置得更小時,它就可以工作。 360也適用於我的原型代碼,只有燈光控制。我懷疑這可能是一個內存問題,但我的Arduino內存還沒有滿。以下是內存使用情況統計信息。
Program size: 9,186 bytes (used 30% of a 30,720 byte maximum) (1.64 secs)
Minimum Memory Usage: 928 bytes (45% of a 2048 byte maximum)
有人可以提供一些建議,我該如何解決這個問題?