8-разрядные модули на мах7219 прописывают цифры в обратном порядке.

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

Собрал блок индикаторов.  При запуске программы все модули прописывают цифры в обратном порядке. Скетч с примером одного из модулей. Где я напортачил?

//Mega2590 Работа с индикаторами на мах7219

//Загрузка библиотеки индикаторов на мах7219
#include "LedControl.h"

/*Назначаем пину управления индикаторами
48           //Пин din цепочки №1 
44           //Пин clk цепочки №1 
46           //Пин cs цепочки №1 
49           //Пин din цепочки №2 
45           //Пин clk цепочки №2 
47           //Пин cs цепочки №2 */
//Cоздаём объекты класса LedControl [din,clk,cs,X)]четвертая цифра "X" - количество модулей. Управляем двумя цепочками модулей по 6 элементов
LedControl lc_1 = LedControl(48, 44, 46, 6);
LedControl lc_2 = LedControl(49, 45, 47, 6);

int indicator;  // Адрес модуля индикатора в цепочке (0-5)
int digit;      // Адрес разряда в индикаторе (0-7)
  
void setup() 
{
  //Назначение пинов индикации на выход
  for (int pin=46; pin<=49; pin++) 
    {
      pinMode(pin, OUTPUT);
    }
  //Инициализация модулей индикаторов
  for (indicator=0;indicator<6;indicator++)
    {
      //Цепочка №1
      lc_1.shutdown(indicator, false); //Выводим из спящего режима
      lc_1.setIntensity(indicator,3);  //Яркость дисплея на 3. Всего возможных режимов яркости от 0 до 15
      lc_1.clearDisplay(indicator);    //Очистить дисплей  
      //Цепочка №2
      lc_2.shutdown(indicator, false); //Выводим из спящего режима
      lc_2.setIntensity(indicator,3);  //Яркость дисплея на 3. Всего возможных режимов яркости от 0 до 15
      lc_2.clearDisplay(indicator);    //Очистить дисплей      
    }  
  //Пробуем на 6 модуле цепочки №2
  lc_2.setDigit (5, 0, 0, false);
  lc_2.setDigit (5, 1, 1, false);
  lc_2.setDigit (5, 2, 2, false);
  lc_2.setDigit (5, 3, 3, false);
  lc_2.setDigit (5, 4, 4, false);
  lc_2.setDigit (5, 5, 5, false);
  lc_2.setDigit (5, 6, 6, false);
  lc_2.setDigit (5, 7, 7, false);
}

void loop() 
{
  
}

 

 

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Может вы просто не понимаете понятие младший/старший разряд ?

Kakmyc
Offline
Зарегистрирован: 15.01.2018

В обратном порядке, это как ?

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

Komandir пишет:

Может вы просто не понимаете понятие младший/старший разряд ?

Блин! Вот я козёл-то! Посмотрел внимательно описание и свои же прежние скетчи. Так и есть.  Спасибо!

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

А какая разница как он прописывает? Я вот при разводке платы всегда развожу на те ножки, на которые удобно, а потом просто меняю битовое представление цифр в константах и всё отлично работает :-)

Sonologist
Sonologist аватар
Offline
Зарегистрирован: 08.06.2018

ЕвгенийП пишет:

А какая разница как он прописывает? Я вот при разводке платы всегда развожу на те ножки, на которые удобно, а потом просто меняю битовое представление цифр в константах и всё отлично работает :-)

Да, разницы никакой. Меня уже ткнули носом. Опомнился :)