Как использовать PlatformIO для прошивки ESP-12F (ESP8266MOD)

В PlatformIO при создании проекта в выборе платы в платах нет ESP-12F. Пока есть ЭСП-12Е. Я могу прошить ESP-12F при выборе ESP-12E из плат без каких-либо проблем с перепрошивкой. Но есть некоторые проблемы во время выполнения, одна из которых, которую я заметил, это то, что светодиод не мигает при прошивке из PlatformIO, но работает нормально при прошивке с помощью Arduino IDE с использованием того же кода. Поэтому могут быть некоторые различия в конфигурациях.

C:\Users\USER\.platformio\platforms\espressif8266\boards

В этом каталоге я нашел плату esp-12e в формате JSON.

{
  "build": {
    "core": "esp8266",
    "extra_flags": "-DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP12",
    "f_cpu": "80000000L",
    "f_flash": "40000000L",
    "flash_mode": "dio",
    "ldscript": "eagle.flash.4m1m.ld",
    "mcu": "esp8266",
    "variant": "nodemcu"
  },
  "connectivity": [
    "wifi"
  ],
  "frameworks": [
    "arduino",
    "simba",
    "esp8266-rtos-sdk",
    "esp8266-nonos-sdk"
  ],
  "name": "Espressif ESP8266 ESP-12E",
  "upload": {
    "maximum_ram_size": 81920,
    "maximum_size": 4194304,
    "require_upload_port": true,
    "resetmethod": "nodemcu",
    "speed": 115200
  },
  "url": "http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family",
  "vendor": "Espressif"
}
Как без проблем добавить ESP-12F на платы PlatformIO и перепрошить.

, 👍0

Обсуждение

Спросите у platformIO... они обязаны обновлять пакеты плат для своей платформы..., @Majenko

@Majenko Спасибо за направление!! :), @Khaalidi


1 ответ


Лучший ответ:

0

В сообществе PlatformIO я задал тот же вопрос, и pfeerick предложил добавить флаг сборки.

Скорее всего, встроенный индикатор подключен к GPIO2, а не к GPIO1, поэтому попробуйте добавить

build_flags = -D LED_BUILTIN=2 в ваш platformio.ini… надеюсь, что запускается перед определением pins_arduino.h.

Но это не помогло. И компилятор выдает кучу предупреждений. Что я сделал, чтобы заставить его работать, так это проигнорировал константу LED_BUILTIN и вместо этого использовал 2.

#include <Arduino.h>
void setup() {
 pinMode(2, OUTPUT);
}

void loop() 
{
  digitalWrite(2,LOW);
  delay(200);
  digitalWrite(2,HIGH);
  delay(200);
}
,

Флаги сборки не должны иметь пробела после буквы «D». build_flags = -DLED_BUILTIN=2, @Makotosan