• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Новый Wemos D1 Mini Pro и csum err

soldtm

New member
Купил с Китая Wemos D1 Mini Pro, любые скетчи "успешно" загружаются, но ничего не работает, за исключением вывода в Serial при прожатии Reset
ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 3584, room 16
tail 0
chksum 0x55
csum 0x55
csum err
ets_main.c

Executable segment sizes:
IROM : 222904 - code in flash (default or ICACHE_FLASH_ATTR)
IRAM : 26892 / 32768 - code in IRAM (ICACHE_RAM_ATTR, ISRs...)
DATA : 1248 ) - initialized variables (global, static) in RAM/HEAP
RODATA : 708 ) / 81920 - constants (global, static) in RAM/HEAP
BSS : 24872 ) - zeroed variables (global, static) in RAM/HEAP
Скетч использует 251752 байт (24%) памяти устройства. Всего доступно 1044464 байт.
Глобальные переменные используют 26828 байт (32%) динамической памяти, оставляя 55092 байт для локальных переменных. Максимум: 81920 байт.
esptool.py v2.8
Serial port COM4
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: e8:db:84:e0:19:d5
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 16MB
Erasing flash (this may take a while)...
Chip erase completed successfully in 46.8s
Compressed 255904 bytes to 188875...
Wrote 255904 bytes (188875 compressed) at 0x00000000 in 16.8 seconds (effective 121.9 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

javaw_2Ia6DlidFE.png


Как лечить?
 

soldtm

New member
После затяжных танцев с бубном проблему удалось решить весьма банально: в качестве платы выставил "Generic ESP8266 Module" за место "LOLIN(WEMOS) D1 MINI PRO"
vl5H3YSUCr.png
 

Sngor

New member
Добрый день, подскажите никто не сталкивался с такой проблемой: wemos lolin D1 mini тестовый скетч работает но когда в нем появляется pinmode (7, INPUT) - программа компилируется и загружается как обычно, но не выполняется на утройстве?? ... помогите советом, что это может быть?
 

Sngor

New member
если что, вот код:
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

// SCL GPIO5
// SDA GPIO4
#define OLED_RESET 0 // GPIO0
Adafruit_SSD1306 display(OLED_RESET);

#define Ger 5
#define BTN1 6
#define BTN2 7
#define BTN3 8

#if (SSD1306_LCDHEIGHT != 48)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif
unsigned long timing;

void setup() {
Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 64x48)
display.clearDisplay();

display.display();
delay(2000);

pinMode(BTN1, INPUT);
// pinMode(BTN2, INPUT);
// pinMode(BTN3, INPUT);
// pinMode(Ger, INPUT);
}

void loop() {
counter();

}
void counter(){
display.setTextSize(1);
display.setTextColor(WHITE);

if (millis() - timing > 100){ // Вместо 10000 подставьте нужное вам значение паузы
timing = millis();
unsigned long second=timing/1000;
display.clearDisplay();
display.setCursor(0,0);

display.println(second);
display.display();
}


}
 

Sngor

New member
только раскомментировал строчку где pinMode все перестало работать, как такое может быть?
 

Sngor

New member
Товарищи, проблема решилась! Может какому-то новичку это поможет? Дело в том, что для wemos d1 mini пины необходимо указывать используя буквы D1, D2, D3, и т.д. в отличие от arduino где достаточно только цифр... ну кто-бы мог подумать!!! ) после этого осознания все заработало как надо.
 

CodeNameHawk

Moderator
Команда форума
Дело в том, что для wemos d1 mini пины необходимо указывать используя буквы D1, D2, D3,
Сами придумали?
Замените необходимо на возможно использовать, причём годиться и название вывода и его номер, только нп. D2 чаще всего не тоже самое, что вывод номер 2.
в отличие от arduino
В отличие от чего?
 

Sngor

New member
Замените необходимо на возможно использовать, причём годиться и название вывода и его номер, только нп. D2 чаще всего не тоже самое, что вывод номер 2.
Ну да, вам конечно виднее, не спорю. Но, в моем случае указание ног без букв приводило к тому, что указывались некоторые другие - служебные ноги (из ответа
CodeNameHawk), а не те пины к которым у меня подключены кнопки и датчики. Самым простым решением оказалось поставить буквы D или A перед названиями пинов, чтобы ничего не перепутать.
 
Сверху Снизу