Вячеслав (Вячеслав) » 21 мар 2016, 05:39
Braun о управлении MAX7219, думаю, что он не обидится, а здесь к месту.
см. ТОПИК: (Старый форум –ТОПИК: «Измерение и управление на PIC» стр. 15 и далее по топику...)
- повтор сообщения: «В даташите все есть. просто я тоже не сразу понял как его зажечь.
Потом внимательно прочел еще раз (там все же по английски ), и заметил, что при включении контроллер находится в Шутдауне (Shutdown) и его нужно принудительно из него вывести.
Я просто в отдельном макросе накидал последовательность команд отправляемых на индикатор для его как бы "инициализации".
В основной программе перед основным циклом:
Инициализируем SPI (SPI_init)
Переходим в макрос инициализации индикатора (можно и в основной программе, но мне так удобнее)
Активируем тест*
Отправляем по SPI команду/параметр "Тест Вкл": SendChar 0xFF/SendChar 0xFF
Деактивируем тест*
Отправляем по SPI команду/параметр "Тест Выкл": SendChar 0xFF/SendChar 0x00
Включаем нужные индикаторы**
Отправляем по SPI команду/параметр Send_Char(0x0b)/Send_Char(7) - от 0 до 7-ми. 7 - будут работать все 8 индикаторов, счет справа налево.
Выводим из шутдауна**
Отправляем по SPI команду/параметр Send_Char(0x0C)/Send_Char(0x01) - 0x00 - спящий режим/0x01 - проснуться
Установка яркости*
Отправляем команду/параметр Send_Char(0x0A)/Send_Char(0x02) - от 0 до 15-ти
Устанавливаем режим декодирования данных**
Отправляем команду/параметр Send_Char(0x09)/Send_Char(0x0F) - в моем варианте 4 слева индикатора не декодируются а отображают чистый код от 0 до 255, правые декодируются и сразу отображают отправленную цифру как нужно. 1-1, 2-2, 5-5 и т. д. Если нужно что бы все индикаторы декодировали данные в цифровой вид, команду нужно отправить 0xFF (см. даташит).
все. Можно слать данные для отображения.
* - необязательные пакеты
** - обязательные пакеты» конец сообщения.