судя по ошибкам, вы,
во-первых, взяли библиотеку AdafruitGFX одной из последних версий, в то время как библиотека работает только с версиями ДО 1.7. В описании библиотеки на гитхабе это есть и есть ссылка, где скачать “правильную” версию AdafruitGFX
и во-вторых, похоже вы пытаетесь скомпилировать работу с панелями в Momochrome_SPI режиме, а нужно выбрать Monochrome_Parallel
Использовал пример который Вы указали(ничего ни менял…)…
Библиотеку поменял скомпилировалось, пока не работает, проверю пины .
Подключать `
#if (defined(STM32F1) || defined(STM32F4))
#define DMD_PIN_A PA1
#define DMD_PIN_B PA3
#define DMD_PIN_nOE PB1
#define DMD_PIN_SCLK PA15`
или другие…
Проверьте еще раз, что за библиотека AdafruitGFX у вас установлена.
Эта ошибка показывает, что вы используете неверную версию.
Библиотека Adafruit_BusIO - часть библиотеки AdafruitGFX версий после 1.8. Нужно удалить новую библиогтеку от Адафруит и установить версию 1.7, как сказано в описании.
я пробовал несколько вариантов пинов, у меня от пинов не зависело.
Можете проверить вот такой набор:
#define DMD_PIN_A PA1
#define DMD_PIN_B PA3
#define DMD_PIN_nOE PB1
#define DMD_PIN_SCLK PA0
этот вариант у меня сейчас на плате собран
А как “не работает”? - вообще ничего?
Библиотеки обе откатил до 1.7.0
Пока тихо вообще…
А, еще - аддон СТМ32 установлен Кларковский или “мой”? В Кларковском есть баг при работе с памятью, ставьте правленный с моего гитхаба
На кларковском платы F4 виснут, это опять же есть в описании.
Спасибо за инфо.
Какие пины в итоге подошли?
Те которые в примере, ничего не менял…
Здравствуйте. Хочу попробовать сделать управление матрицей через родную STMовскую среду CubeIDE. По копался в сети, понял что нужно сканировать построчно записывая данные в R, G. B. Только не понял как управлять яркостью цвета. То есть если в строке 64 точки, то например если нам нужен цвет R, То пишем 64 единицы или для каждой точки пишем что то другое например байт информации с данными яркости цвета итого 64 байта для строки.
Заранее спасибо.
Для начала почитайте тут - что будет непонятно, отвечу
Всем привет. Поделюсь печалью сегодня мучался с такой матрицей https://p10.ru/product/svetodiodnyj-modul-qiangli-ulichnyj-q8-320x160/
сканирование 1/5 думал что она заполняет две строки верхние по порядку то есть загружаешь 80 ячеек (R,G,B) и две строки готовы. А оказалось у меня почему заполняется странно 4 диода в нижнюю строку затем 4 диода в верхнюю и т.д В итоги строки то горят полностью. Только заполняются змейкой. Может я криворукий…
Это нормально, многострочные матрицы почти всегда заполняются не целыми строками, а по 4 или по 8 пикселей змейкой.
Я сейчас не дома, писать неудобно,если не горит, подождите до 9 числа
Я в сети, можем обсудить подробнее.
Для понимания проблемы сначала почитайте вот эту ссылку
Да спасибо. У меня пока пару вопросов.При выборе строки адрес первой 000(если есть А,В,С), ? И второй вопрос В группе А,В,С младший бит А или С.
P.S. По английски понимаю с трудом…
Не уверен, что понял вопрос правильно. Вы спрашиваете, всегда ли обход матрицы начинается верхней строки? - ответ нет, например вот в этой картинке обход начинается с четвертой строчки:
обычно А
PS
А вообще я бы вам советовал для начала взять матрицу с простым линейным сканированием, то есть такую, где скан равен половине высоты.
Мультискановые матрицы (такие как ваша 40х20 скан5) - нередко ставят в тупик даже опытных разработчиков.
Кажется начинаю понимать, та строка которая горит у меня второй сверху, может быть 4 ой, если скан 1/5
Ну вот пришёл домой сделал следующие
В буфер вывода од у меня uint8_t buffer_displ[5][80];
записал
‘’’
buffer_displ[0][0] = 0b100100;
buffer_displ[0][1] = 0b100100;
buffer_displ[0][2] = 0b100100;
buffer_displ[4][0] = 0b010010;
buffer_displ[4][1] = 0b010010;
buffer_displ[4][2] = 0b010010;
‘’’
Цвета у меня R,G,B
В результате если входной разъём справа , матрица лицом к Вам то горят
по 3 диода зелёных на строках 6 и 16 сверху и слева с начала.
и по три диода красных на строках 7 и 17 сверху и слева с начала(под зелёными)
Программу вывода выкладывал ранее ОЕ используется.
Других матриц для экспериментов пока нет, к концу недели может придёт 64*32 скан1\8
Методом проб вывел закономерность
если писать в 0 строку горят 7,17
1 - > 8,18
2 → 9,19
3 → 10,20
4 → 6,16
то есть первая строка на матрице сверхух 10
дальше
6,
7,
8,
9,
5,
1,
2,
3,
4
это не лучше вашей, в том смысле что тоже сложная.
что-то запямятовал, дайте ссылку
Там не программа была а цикл, вывода из массива построчно, Вы там ещё про регистры советовали
https://forum.arduino.ru/t/vopros-po-rgb-matriczam/9352
сейчас сижу думаю как из буфера матрицы у меня [40][20]
конвертировать в массив для вывода [5][80]
Ура Заработала…
Привет профессионалам.
Пришла сегодня нова панель RGB Р4 80*40 сканирование указано на сайте 1/10
Начал разбираться по примеру предыдущей панели заполняет строке вроде также по 4 Бита
Но почему то пишет двойные строчки, отсоединил сигналы В и D от матрицы ничего не изменилось, поменял контроллер эфФект тот же. То есть сигналы В и D матрица не воспринимает, либо она дохлая наполовину либо адресация какая то хитрая…