-2
我正在和我的arduino一起改善我的C語言知識。我做了幾個attemps,但我不能讓它工作:-( 我希望有人能幫助我。C對庫對象的引用
我有不同的對象從庫。
Adafruit_NeoPixel hours = Adafruit_NeoPixel(NUMPIXELS, .....);
Adafruit_NeoPixel minutes = Adafruit_NeoPixel(NUMPIXELS, ....-);
Adafruit_NeoPixel seconds = Adafruit_NeoPixel(NUMPIXELS, .....);
現在我想打電話給一個功能幾次的指針聲明庫對象(小時,分&秒=> EG POINTERTOLIB?)
void showTime(int iShowTime, **POINTERTOLIB**)
{
int ones = iShowTime % 24;
//set LEDs according to acutal Time
for (int i=0; i<8; i++)
{
((ones >> i) & 1) ? **POINTERTOLIB** .setPixelColor(i, **POINTERTOLIB** .Color(0,150,0)) : **POINTERTOLIB** .setPixelColor(i, hours.Color(0,0,0));
**POINTERTOLIB** .setBrightness(40);
}
**POINTERTOLIB** .show(); // This sends the updated pixel color to the hardware.
}
感謝您的幫助
你的問題不清楚,你想指針傳遞給所有的三個對象? – George
您可以使用以下簽名'void showTime(int iShowTime,Adafruit_NeoPixel * pObj)'。在'showTime'裏面,你可以通過'pObj-> setPixelColor()''pObj-> Color()'調用'Adafruit_NeoPixel'的member_functions。你可以按如下方式調用'showTime':showTime(3,&hours);'或'showTime(3,&minutes);' – sameerkn
@sameerkn你可以添加你的評論作爲這個問題的答案嗎?根據OP,它解決了這個問題。 – Steeve