Pro MICRO. Влияние скетча на связь с компом

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить
dim3740
Нашел транзистор. Понюхал.
Сообщения: 156
Зарегистрирован: Вс сен 28, 2014 07:54:21

Pro MICRO. Влияние скетча на связь с компом

Сообщение 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%

Похоже, что баг появляется после объявления дополнительных массивов, или их размеров.
Реклама
veso74
Поставщик валерьянки для Кота
Сообщения: 1916
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Pro MICRO. Влияние скетча на связь с компом

Сообщение veso74 »

Правда, есть гадатели и экстрасенсы ... но хоть поделитесь хоть фрагментом кода, который добавляете "до" и "след" возникновения проблемы.

Догадка: stack overflow: переполнение стека с добавлением большого массива.
Вариант: оптимизируйте, уменьшите размер масива, исключитье другую функцию (например, ненужную или временно для теста)
или ... переключитесь на другой МК. (частично пользуюсь переводчиком)
Реклама
dim3740
Нашел транзистор. Понюхал.
Сообщения: 156
Зарегистрирован: Вс сен 28, 2014 07:54:21

Re: Pro MICRO. Влияние скетча на связь с компом

Сообщение dim3740 »

да, создаю еще один такой же массив.

PROGMEM const int masL[10][16]... был один, стало два с разными именами...

По стеку почитаю, спасибо. Т.е. вы подтверждаете что переполнение может необратимо запарывать USB порт?

Эксперименты...они дорого обходятся(((( уже 3 шт арудинок в топку

Происходит это так: "пишет заливка успешно". Но программа виснет, скажем на индикаторе старая инфа. Попытка новой прощивки - уже "порт не обнаружен".
veso74
Поставщик валерьянки для Кота
Сообщения: 1916
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Pro MICRO. Влияние скетча на связь с компом

Сообщение veso74 »

Выясните (для себя), что происходит с "затронутыми" модулями. Оттуда будет направление для решения (или защита от воздействия).

Очень вероятно, что только "слетел" загрузчик. Ничего страшного нет, восстанавливается программатором.
Реклама
Эиком - электронные компоненты и радиодетали
dim3740
Нашел транзистор. Понюхал.
Сообщения: 156
Зарегистрирован: Вс сен 28, 2014 07:54:21

Re: Pro MICRO. Влияние скетча на связь с компом

Сообщение 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 не изучал... просто скачал кусок. Она важна?
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15587
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Pro MICRO. Влияние скетча на связь с компом

Сообщение BOB51 »

На нанке/про-мини частенько имеет место ошибка в случае, если программа в адуринке использует для своих нужд СОМ порт.
В таком случае, перед загрузкой нового содержимого из IDE нужно в обязательном порядке предварительно включать
"инструменты -> монитор порта" (для корректного перехода в режим программирования адуринки).
Ну и проверка на размер кода, размер используемого ОЗУ после компиляции и прочие возможные ошибки/предупреждения (обязательно включить опцию IDE
"файл -> настройки -> сообщения компилятора -> ВСЕ")
:roll:
И ... НЕ ЗАБЫВАЕМ про качественный контакт в разъёмах кабеля USB!
:wink:
Реклама
Ответить

Вернуться в «Arduino»