C ссылка на объект библиотеки

Я работаю с моим Arduino, чтобы улучшить мои знания C. Я сделал несколько попыток, но я не могу заставить его работать 🙁
Я надеюсь, что кто-то может помочь мне.

У меня есть разные объекты из библиотеки.

Adafruit_NeoPixel hours = Adafruit_NeoPixel(NUMPIXELS, .....);
Adafruit_NeoPixel minutes = Adafruit_NeoPixel(NUMPIXELS, ....-);
Adafruit_NeoPixel seconds = Adafruit_NeoPixel(NUMPIXELS, .....);

Теперь я хочу несколько раз вызвать функцию с указателем на объявленный объект библиотеки (часы, минуты & секунд => E.G 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.
}

Спасибо за вашу помощь

-2

Решение

Так как вы хотите вызвать функцию showTime несколько раз используя разные объекты (hours, minutes, seconds) из class Adafruit_NeoPixel тогда вы можете использовать следующую подпись:

void showTime(int iShowTime, Adafruit_NeoPixel *pObj);

Поэтому сейчас showTime ожидает указатель на любой действительный объект class Adafruit_NeoPixel,

внутри showTime Вы можете вызвать member_functions из class Adafruit_NeoPixel следующее:

pObj->setPixelColor()
pObj->Color().

Ты можешь позвонить showTime следующее:

showTime(3, &hours); or showTime(3, &minutes);
showTime(3, &hours); or showTime(3, &hours);
showTime(3, &hours); or showTime(3, &seconds);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]