Страница 1 из 1
Pro MICRO. Влияние скетча на связь с компом
Добавлено: Сб май 06, 2023 10:35:53
dim3740
После внесения некоторых изменений в скетч, его загрузка аппаратно убивает USB COM порт соединения с компом. Т.е модуль Pro Micro выкидывается.
Нечто подобное бывало, но лечилось после перезагрузки операционки и нового открытия IDE.
В настоящем скетче и это не помогает.
Какие функции могут приводить к такому? На что обратить внимание? Код сложно выложить, но скажу есть:
PROGMEM const int masL[10][16]
#include "MemoryExplorer.h"
#include <avr/pgmspace.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
размер скетча 80%, переменных 60%
Похоже, что баг появляется после объявления дополнительных массивов, или их размеров.
Re: Pro MICRO. Влияние скетча на связь с компом
Добавлено: Сб май 06, 2023 11:02:36
veso74
Правда, есть гадатели и экстрасенсы ... но хоть поделитесь хоть фрагментом кода, который добавляете "до" и "след" возникновения проблемы.
Догадка: stack overflow: переполнение стека с добавлением большого массива.
Вариант: оптимизируйте, уменьшите размер масива, исключитье другую функцию (например, ненужную или временно для теста)
или ... переключитесь на другой МК. (частично пользуюсь переводчиком)
Re: Pro MICRO. Влияние скетча на связь с компом
Добавлено: Сб май 06, 2023 11:11:21
dim3740
да, создаю еще один такой же массив.
PROGMEM const int masL[10][16]... был один, стало два с разными именами...
По стеку почитаю, спасибо. Т.е. вы подтверждаете что переполнение может необратимо запарывать USB порт?
Эксперименты...они дорого обходятся(((( уже 3 шт арудинок в топку
Происходит это так: "пишет заливка успешно". Но программа виснет, скажем на индикаторе старая инфа. Попытка новой прощивки - уже "порт не обнаружен".
Re: Pro MICRO. Влияние скетча на связь с компом
Добавлено: Сб май 06, 2023 11:18:01
veso74
Выясните (для себя), что происходит с "затронутыми" модулями. Оттуда будет направление для решения (или защита от воздействия).
Очень вероятно, что только "слетел" загрузчик. Ничего страшного нет, восстанавливается программатором.
Re: Pro MICRO. Влияние скетча на связь с компом
Добавлено: Сб май 06, 2023 14:37:36
dim3740
Спасибо за помощь. Программатором восстановил загрузчик (повезло, что выпаивать не надо).
Включил подробный вывод при компиляции. Никаких отличий работающего (предыдущего) скетча, от последнего ("убивающего") не наблюдаю.
Соотношения расхода ресурсов 84/53 предыдущий, и 86/58 - последний по сообщению компилятора.
Может надо читать сообщения именно при загрузке, чтоб надтолкнуться на причину?
Добавлено after 13 minutes 51 second:
[uquote="veso74",url="/forum/viewtopic.php?p=4411825#p4411825"]Выясните (для себя), что происходит с "затронутыми" модулями.[/uquote]
Я понимаю, что ответ сложно дать. Для меня, как НЕ профи, вообще это шок, что код может свалить "железо".
Поэтому признателен за любые намеки... Что такое "модуль" - это ардуино-плата или фрагмент кода (функция, модуль).??
Массивы сделал по [12][2], а было 15/2. Полет нормальный. А вот функцию размещения PROGMEM const не изучал... просто скачал кусок. Она важна?
Re: Pro MICRO. Влияние скетча на связь с компом
Добавлено: Ср май 10, 2023 09:18:54
BOB51
На нанке/про-мини частенько имеет место ошибка в случае, если программа в адуринке использует для своих нужд СОМ порт.
В таком случае, перед загрузкой нового содержимого из IDE нужно в обязательном порядке предварительно включать
"инструменты -> монитор порта" (для корректного перехода в режим программирования адуринки).
Ну и проверка на размер кода, размер используемого ОЗУ после компиляции и прочие возможные ошибки/предупреждения (обязательно включить опцию IDE
"файл -> настройки -> сообщения компилятора -> ВСЕ")

И ... НЕ ЗАБЫВАЕМ про качественный контакт в разъёмах кабеля USB!
