max7219 связанный дисплей, показывающий зеркальный текст

Я использую max7219, такой как max7219. Когда я впервые тестировал свою схему, я использовал дисплей 8x8, и код работал нормально. Теперь, после того как я изменил код на тот, который можно найти в Интернете по адресу код Arduino, и изменил отображение на связанный, текст отображается зеркально на матричном дисплее.

как на этой картинке.

Ниже я прикреплю часть кода. Пожалуйста, помогите мне найти проблему.

#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>

// Определяем количество устройств в цепочке и аппаратный интерфейс

#define MAX_DEVICES 4
#define CLK_PIN     13
#define DATA_PIN    11
#define CS_PIN      10

// Аппаратное SPI-соединение
MD_Parola P = MD_Parola(CS_PIN, MAX_DEVICES);
// Произвольные выходные контакты
// MD_Parola P = MD_Parola(DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);

void setup(void)
{
  P.begin();
  P.displayText("Hello", PA_CENTER, 0, 0, PA_PRINT, PA_NO_EFFECT);
}

void loop(void)
{
  P.displayAnimate();
}

, 👍1

Обсуждение

Изменение неправильной строки на **#define HARDWARE_TYPE MD_MAX72XX::FC16_HW** сделал свое дело. Поиск занял время, но спасибо миллион!!!, @mark Hussey

В моем случае мне пришлось перейти на **#define HARDWARE_TYPE MD_MAX72XX::ICSTATION_HW**, @gramgram


4 ответа


2

Проверьте конфигурацию в файле MD_MAX72xx.h и убедитесь, что выбран правильный модуль.

Например, есть определение

#define USE_PAROLA_HW   0

если ваше оборудование имеет этот элемент, отключите другие настройки оборудования и включите этот, чтобы он выглядел следующим образом:

#define USE_PAROLA_HW   1

есть много других настроек, если их нет, то придется экспериментировать, пока не найдете правильную.

,

0

В библиотеке измените #define USE_GENERIC_HW 0 на #define USE_GENERIC_HW 1. Это решение.

,

6

Начиная с версии 3.0 MD_MAX72xx.h больше не поддерживает это определение. Теперь тип оборудования определяется как параметр при создании (в используемом вами файле «Пример», а не в MD_MAX72xx.h)

#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
...
MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);

Обратите внимание, что я изменил тип оборудования с PAROLA_HW на FC_16.

,

0

В последней версии #include <MD_Parola.h>, #include <MD_MAX72xx.h> вам необходимо определить следующее, и символы будут отображаться правильно.

#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
,

Разве не это сказал @Den1al в своем ответе?, @sempaiscuba