Windows 10 и arduino ide v1.8.4

Тема в разделе "ESP8266, ESP32", создана пользователем Vovka, 21 сен 2025.

  1. Vovka

    Vovka Гик

    Доброго времени суток!
    Установлена Windows 10 Pro и и Arduino IDE v1.8.4
    Сразу отвечу на вопрос, почему Arduino IDE v1.8.4 - потому что, vMicro подавай не старше v1.8.x! Правда пробовал подсунуть и Arduino IDE v2.3.6, но ничего не поменялось :(
    Итак, суть проблемы. Начну с малого. Установлена только Arduino IDE v1.8.4, Visual Studio C++ - нет.
    Запускаю проект, который раньше компилировался на этой версии ide без ошибок. Сейчас выскакивают не понятные мне ошибки:
    Код (C++):

    sketch\_defs.h:102:31: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
      102 | #define FILE_NAME_WIFI_CFG    "WiFi.cfg"
          |                               ^~~~~~~~~~
    sketch\_functions.h:53:17: note: in expansion of macro 'FILE_NAME_WIFI_CFG'
       53 |  if( !fc.begin( FILE_NAME_WIFI_CFG ) ) {
     
    При этом функция определена:
    Код (C++):
    bool begin( char *pathFileName )
    В общем куча предупреждений и в итоге проект скомпилирован, но отчет выводит криво:
    Код (C++):

    . Variables and constants in RAM (global, static), used 38480 / 80192 bytes (47%)

    в•‘   SEGMENT  BYTES    DESCRIPTION

    в• в•ђв•ђ DATA     1612     initialized variables

    в• в•ђв•ђ RODATA   5228     constants      

    в•љв•ђв•ђ BSS      31640    zeroed variables

    . Instruction RAM (IRAM_ATTR, ICACHE_RAM_ATTR), used 61803 / 65536 bytes (94%)

    в•‘   SEGMENT  BYTES    DESCRIPTION

    в• в•ђв•ђ ICACHE   32768    reserved space for flash instruction cache

    в•љв•ђв•ђ IRAM     29035    code in IRAM  

    . Code in flash (default, ICACHE_FLASH_ATTR), used 393616 / 1048576 bytes (37%)

    в•‘   SEGMENT  BYTES    DESCRIPTION

    в•љв•ђв•ђ IROM     393616   code in flash  
     
    Пробовал на Arduino IDE v2.3.6 - так же компилит...
    Винда?
     
  2. ZAZ-965

    ZAZ-965 Гуру

    @Vovka, кроме версии Arduino IDE, важна версия и версия ESP8266 GCC тулчейна. В менеджере плат была выбрана версия 2.7 с GCC 4.8.2 - предупреждений не было, установили 3.1 с GCC 10.3 получили более строгую проверку и кучу предупреждений.
    По поводу покореженных шрифтов - после выхода версии 1.8.4 несколько раз правили ошибки со шрифтами, попробуйте последнюю 1.8.19.
     
    Vovka нравится это.
  3. Asper Daffy

    Asper Daffy Иксперд

    Приведённое предупреждение совершенно нормально. Или сделайте указатели на char, которым присваиваете строковые литералы, константами или просто игнорируйте это предупреждение.
    Видел только одно, его прокомментировал. Остальные Вам было лень показать? Ну, тогда это Ваша проблема.
     
    Последнее редактирование: 24 сен 2025
    parovoZZ нравится это.
  4. Airbus

    Airbus Радиохулиган Модератор

    Нет не Винда. У меня Win11 и IDE 1.8.5 все очень шустро работает. Как установлена IDE? Нужно в корень диска С и никаких папок с русскими названиями! English only!
     
  5. parovoZZ

    parovoZZ Гуру

    данной проблемы давно не существует. А точнее с тех пор, как мастдай освоил UTF.

    ESP-IDF ставишь куда хочешь. Хоть на флешку. А т.к. дурина использует её, то здесь проблема так же выдумана.
     
  6. Vovka

    Vovka Гик

    Много вечеров пришлось на переустановку потратить, но победил!
    Да, #define исправил на *char и все предупреждения ушли - там только эти были.
    Установил Visual C++ v17 и к нему Visual Micro - все работает, правда компилит с крякозябрами:

    Код (C++):
    Variables and constants in RAM (global, static), used 38784 \ 80192 bytes (48%)
       в•‘   SEGMENT  BYTES    DESCRIPTION
       в• в•ђв•ђ DATA     1620     initialized variables
       в• в•ђв•ђ RODATA   5540     constants
       в•љв•ђв•ђ BSS      31624    zeroed variables
       Instruction RAM (IRAM_ATTR, ICACHE_RAM_ATTR), used 61803 \ 65536 bytes (94%)
       в•‘   SEGMENT  BYTES    DESCRIPTION
       в• в•ђв•ђ ICACHE   32768    reserved space for flash instruction cache
       в•љв•ђв•ђ IRAM     29035    code in IRAM
       Code in flash (default, ICACHE_FLASH_ATTR), used 395864 \ 1048576 bytes (37%)
       в•‘   SEGMENT  BYTES    DESCRIPTION
       в•љв•ђв•ђ IROM     395864   code in flash
    Тут походу нужно как-то досовскую кодировку включать, ибо Ардуина 1.8.19 рисует так:

    Код (C++):
    . Variables and constants in RAM (global, static), used 38756 / 80192 bytes (48%)
    ║   SEGMENT  BYTES    DESCRIPTION
    ╠══ DATA     1620     initialized variables
    ╠══ RODATA   5520     constants      
    ╚══ BSS      31616    zeroed variables
    . Instruction RAM (IRAM_ATTR, ICACHE_RAM_ATTR), used 61803 / 65536 bytes (94%)
    ║   SEGMENT  BYTES    DESCRIPTION
    ╠══ ICACHE   32768    reserved space for flash instruction cache
    ╚══ IRAM     29035    code in IRAM  
    . Code in flash (default, ICACHE_FLASH_ATTR), used 395472 / 1048576 bytes (37%)
    ║   SEGMENT  BYTES    DESCRIPTION
    ╚══ IROM     395472   code in flash
     
  7. Asper Daffy

    Asper Daffy Иксперд

    Простите, Вы здоровы? Я же Вам говорил сделать ровным счётом наоборот!

    Вам нужны необъяснимые глюки в программе? Вы любитель танцев на граблях? Или Вы делаете прошивку для внедрения во вражеский супер-пупер-боевой-пепелац?
     
  8. Vovka

    Vovka Гик

    Код (C++):

    #define    FILE_NAME_WIFI_CFG   "WiFi.cfg"
    заменил на:
    const char*    FILE_NAME_WIFI_CFG = "WiFi.cfg";
     
    Тогда потрудитесь объяснить больному, какие будут глюки?
     
  9. DetSimen

    DetSimen Гуру

    А у меня почему-то VS Community 22 + VMicro + Arduino IDE 1.8.19 в связке прекрасно работают и с ESP32 и с STM и с AVR любыми

    upload_2025-9-26_7-0-11.png
     
  10. Asper Daffy

    Asper Daffy Иксперд

    Если так, как здесь, то глюков не будет.

    Вы же в прошлом сообщении написали, что

    Вот я и сделал стойку. Кто ж Вас знал, что Вы наврали, а на самом деле исправили на const char*, как я Вам и советовал.
     
  11. parovoZZ

    parovoZZ Гуру

    влияние кота