• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь WDT RESET- Max72xxPanel, esp8266

ppmes

New member
Мир Вашему дому господа! Здоровья Вам и Вашим близким.
Обустроил дома сеть с MQTT на esp12f модулях, теплица свет и прочее, появилась идея сделать индикацию текущей температуры в теплице с использованием матриц светодиодов на МАХ7219.
Вот тестовый код
Код:
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Max72xxPanel.h>

int pinCS = 9; // Attach CS to this pin, DIN to MOSI and CLK to SCK (cf http://arduino.cc/en/Reference/SPI )
int numberOfHorizontalDisplays = 1;
int numberOfVerticalDisplays = 4;

Max72xxPanel matrix = Max72xxPanel(9, 1, 4);

int wait = 50; // In milliseconds

int spacer = 1;
int width = 5 + spacer; // The font width is 5 pixels
int BRNS = 4;//0-15

void setup()
{
  //matrix.setIntensity(BRNS); // Use a value between 0 and 15 for brightness
  //matrix.setRotation(3);    // The same hold for the last display
  //matrix.fillScreen(HIGH);
  //delay(100);
  //matrix.fillScreen(LOW);
}

void loop() {
/*  String tape = "DONE";

  //for ( int i = 0 ; i < width * tape.length() + matrix.width() - 1 - spacer; i++ ) {
  for ( int i = 0 ; i < 1; i++ ) {
    matrix.fillScreen(LOW);

    int letter = 30 / width;
    int x = (matrix.width() - 1) - 30 % width;
    int y = (matrix.height() - 8) / 2; // center the text vertically

    while ( x + width - spacer >= 0 && letter >= 0 ) {
      if ( letter < tape.length() ) {
        matrix.drawChar(x, y, tape[letter], HIGH, LOW, 1);
      }

      letter--;
      x -= width;
    }

    matrix.write(); // Send bitmap to display

    delay(wait);
  }*/
}
Но модуль выдает в сериал монитор сброс по сторожевому таймеру((
С другой библиотекой для этих матриц то же самое((
Методом исключения выяснил что вызвана ошибка строчкой собственно инициализации панели
Вот собственно сообщение
Код:
ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v3ffee360
~ld
Не могли бы вы попробывать код на своих девайсах, достаточно просто голой ЕСП
Код писан в Ардуино среде в 1.8.2
вот настройки платы
Настройка ЕСП.png
 

ppmes

New member
Спасибо огромное, проблема решилась!
Библиотека поддерживает ЕСП
Проблема была в том что пин чип селект был назначен на 9 пин ЕСП- переназначил на 10 -всё заработало

===============================================================================
ИТОГ:
Всегда необходимо восполнять пробелы в теории
Опыт отрицательным не бывает
Век живи век учись, дураком помрешь
===============================================================================

Думаю эта короткая тема будет неплохим вкладом в дебаг сферу этого замечательного форума
 
Сверху Снизу