Как объявить указатель на библиотеку arduino neopixels, чтобы настроить его в функции настройки с помощью динамических переменных?
Я использую полоски NeoPixel и хочу иметь возможность объявлять на них указатель, но не инициализировать их до тех пор, пока не будет активирована функция setup
(поскольку они будут инициализироваться определенными переменными, доступными только в < код>настройка).
Для более простых типов данных я просто делаю:
int totalNumColors = 4; //количество цветов, которые пользователь может перебирать`
uint32_t* colorArray = new uint32_t[totalNumColors];
void setup() {
for (int i=0;i<totalNumColors;i++){
colorArray[i] = totalColorArray[i];
}
}
Как это сделать для инициализаторов полосы NeoPixel? Я пробовал:
Adafruit_NeoPixel* pixels = new Adafruit_Neopixel;`
но я получаю сообщение об ошибке:
expected type-specifier before 'adafruit neopixel'
@mheavers, 👍0
Обсуждение1 ответ
Лучший ответ:
Вы можете присвоить указателю значение NULL и в функции setup
присвоить ему значение. Обратите внимание, что вы должны добавить () для аргументов, даже если в этом случае их нет. Также вы должны включить библиотеку (но, возможно, вы это сделали, но не добавили в свой вопрос).
#include "Adafruit_NeoPixel.h"
Adafruit_NeoPixel* pixels = NULL;
void setup()
{
pixels = new Adafruit_NeoPixel();
}
Я включил библиотеку, но спасибо, да - это именно то, что я хотел сделать., @mheavers
Удачи с вашим проектом., @Michel Keijzers
- Вызов функций одного класса из другого класса — Обратный вызов
- Используйте ISR внутри библиотеки более элегантно
- C++ против языка Arduino?
- Какие накладные расходы и другие соображения существуют при использовании структуры по сравнению с классом?
- Ошибка: "недопустимое использование нестатической функции-члена" при вызове функции из моего собственного класса-метода
- ошибка: ожидаемое первичное выражение перед токеном ','
- Ввести идентификатор чипа ESP32 в строковую переменную (новичок в Arduino/C++)
- Передача функции-члена класса в качестве аргумента
Я пытаюсь понять, используя указатели для Neopixels - я не эксперт C, но пытаюсь учиться на ходу. Я просмотрел некоторую документацию (прочитал некоторые сайты, посмотрел несколько видео на YouTube) и понял основы указателей, и я могу использовать их более простыми способами. Но меня смущает, как вы используете указатели при настройке Neopixels. Не могли бы вы поделиться своим кодом, чтобы я мог понять, как устроены Neopixels и как вы их используете? Я буду очень признателен. Дэйвид, @David Warren