Загрузить данные в MAX 7219
У меня есть следующий код для записи данных на MAX7219 для освещения светодиодной матрицы 8x8:
for (i = 0; i < 8; i++)
{
CLK = LOW;
DIN = temp & MSBIT >> i;
CLK = HIGH;
}
Дело в том, к сожалению, я просто знаю, что строка кода (DIN = temp & MSBIT >> i;)
должна быть именно такой, иначе светодиоды победили не показывает ожидаемое, но я не понимаю, как это работает...
Пожалуйста, мне действительно нужно объяснение, потому что я застрял....
Примечание: переменная "temp" всегда представляет собой шестнадцатеричное число, например 0x20
, и "MSBIT" = 0x80
.
@Andre Montenegro, 👍-1
Обсуждение1 ответ
Вы должны отправить 16 бит для загрузки данных. Первые 8 — это регистр, в который попадают данные, от 0 до 15, следующие 8 — это данные для отображения. Регистры 1-8 — это отображаемые данные, остальные используются для настройки: интенсивности, проверки дисплея, нормального/отключения, режима декодирования/без декодирования и количества подключенных цифр/столбцов (например, 4 цифры или 8 для матрица 8x8).
В Arduino я использую аппаратный SPI для отправки данных на MAX7219 — SCK, MOSI и SS.
digitalWrite (ssPin, LOW);
SPI.transfer(addressRegister); // от 0 до 15
SPI.transfer(dataToLoad);
digitalWrite (ssPin, HIGH);
Проделайте это для каждого регистра. Регистры управления должны быть записаны только один раз. В Arduino это обычно находится в setup(). Интенсивность может быть изменена позже для яркости (от 0 до 15, как действительные данные).
В цикле() используйте описанное выше, чтобы обновить дисплей для 8 регистров данных дисплея (1-8).
Скорость SPI по умолчанию 4 МГц, MSBFIRST, SPI Mode 0 изменять не нужно., @CrossRoads
- max7219 связанный дисплей, показывающий зеркальный текст
- Разница между 3,3 В и 5 В
- Путаница с проводкой SPI
- Возможно ли сделать таймер с точностью до 1 миллисекунды ? Использование светодиода MAX7219
- Гирляндное соединение нескольких блоков матрицы 4x(8x8) MAX7219
- Почему светодиоды заметно мерцают?
- Библиотека Parola и часы DS3231
- Прокрутка слева направо на дисплее MAX7219
Пожалуйста, опубликуйте полный код., @leoc7