Олегыч1 Есть вероятность "перекрытия" доступа к "штатному" программированию АВР (возможно и иных) платформ при установке обновлений платформ для ESP, ARM(stm32). Уже ранее на такое нарывался. Спасает только откат/удаление/переустановка более ранними версий тех сторонних платформ. Ранее уже писал в котуинке viewtopic.php?p=4669766#p4669766 Весьма подлая та "особенность" - не сразу проявляется после обновлений и весьма неявно -ведь не в АВРкиных платформах причина, да и компилируется все без проблем. Так что прекращаем автообновление и крайне осторожно обращаемся с обновлением вручную для версий IDE 1.8.9 и 1.8.19 !!! За подобное на 2.х.х не ведаю - у меня та только для кобщего ознакомления стоит...
Как вариант - или сдохла микросхемка USB-COM (что маловероятно) или накидало мусора в область загрузчика. Обязательно сделайте предварительное "общее стирание" для меги на "внешнем программаторе", а уж затем операцию "записать загрузчик" в IDE (через ардуиноISP железко или то, что в списках программаторов IDE совпадает с имеющимся у Вас).
Посмотрите номинал подтягивающего резистора на RESET, не 1 ли ком вместо 10?
Да, 1кОм. Заменить на 10 кОм? На рабочей пробной плате там 1 кОм и все работает.
Обязательно!!! Сам сразу на двух нанах на это напоролся, МК дважды на них менял и CH340 лишек прикупил, куда теперь их девать (которые с внешним кварцем)? Насколько я понял, CH340 работает с 1к на грани фола, т.е. этот чип не в состоянии надежно опустить сильноточный вывод до логического ноля. Кстати, номинал 10к на RESET не я придумал, он показан на некоторых схемах нано.
ART_ME, я попробовал, заменил резистор. Что-то изменилось. Ошибка чуть другая стала. Лог вот такой теперь: Using Port : COM8 Using Programmer : arduino Overriding Baud Rate : 115200 avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
Короче, наверное, все-таки чип связи USB-COM чудит...
Насколько мне известно, этот лог переводится как "атмега не отвечает". Полагаю, что настало время проверить достоверность этого сообщения лога осциллом.
Если при нажатии инструменты > получить информацию о плате открывается соответствующее окошко с корректным ответом то микросхема USB-COM исправна. Разве что вариант "отгоревших" выводов еще возможен. Проверка работоспособности управления линии reset - подключаем самоделку к ПК, запускаем IDE... Затем жмем инструменты > монитор порта если самоделка (нанка) перезагружается то работоспособность линии reset подтверждена (схемотехника исправна). Вторая возможная проблема - в программе используется обмен по СОМ порту (или линии RxD/TxD), а монитор СОМ порта IDE не включен при запуске IDE. Третье - типовая ошибка невнимания - нанка подключается ПОСЛЕ запуска IDE (обязательно сначала подключить платку и лишь после того запустить IDE). И последнее - "замусорен" (по разным "стечениям обстоятельств") бутлоадер - проводим предварительное общее стирание МК на стороннем софте и железе программатора с последующей перезагрузкой из IDE бутлоадера ВМЕСТЕ С НАБОРОМ ФУЗОВ опцией инструменты > записать загрузчик эта процедура делается из IDE через программатор включенный между ПК и нанкой по ISP. используем такое "железо" программатора, которое можно найти в списках инструменты > программатор (там же и выставляем требуемое в выпадающем списке пред использованием). Программатор подключается к ПК на тот СОМ порт, что указан в списке портов IDE, а ISP выход программатора к ISP разъёму нанки. Автоматически загружается и бутлоадер и набор фузов, соответствующей выбранной в IDE платформе. Далее работаем с нанкой в обычном режиме.
В мониторе порта через раз обмен данными идет. Ну в смысле, если обмен идет, то он идет стабильно, но стит выйти из монитора порта и снова зайти и уже нет обмена. Через некоторое время может появиться овот такая ошибка
Цитата:
Ошибка монитора порта: команда 'open' не выполнена: Invalid serial port. Could not connect to COM8 serial port.
Но стоит передернуть платку, как в мониторе порта снова есть обмен. Какая-то нестабильная связь... ---------- Последний пункт пробовал. Все стер, а потом сторонним прогером (USBASP) записывал бутлодер в среде IDE. Тоже не помогло. При подключении нанки к USB - в диспетчере отображается CH340. То есть вроде все видится....
Добавлено after 7 minutes 47 seconds:
Цитата:
Проверка работоспособности управления линии reset - подключаем самоделку к ПК, запускаем IDE... Затем жмем инструменты > монитор порта если самоделка (нанка) перезагружается то работоспособность линии reset подтверждена (схемотехника исправна).
- Не совсем понятно, как понять "перезагружается?" У меня при открытии монитора порта в него идет посылаемая информация (ну так в коде прошивки задумано). Ну так вот если в мониторе порта косяк в этот момент, то передергиваю эту нанку и в порт начинает идти информация.
Имелась ввиду перезагрузка самоделки, вызываемая аппаратным сбросом от IDE при открытии монитора СОМ порта. Особо необходимо если самоделка с компом по СОМ порту по своей работе обмен ведет. Для того чтобы согласование с IDE по вопросу сброса перед прошивкой это необходимо. Там синхронизация из ПК идет от IDE в адуринку. Если в такой ситуации делать перепрошивку без включенного монитора порта практически обязательно сбой будет. Хотя... Судя по проявлениям , что в последний раз указали - или "дохлый" кабель USB или окислена/повреждена/отваливаются контакты USB гнезда на нанке. Возможен любой вариант - но чаще всего банальное окисление - потереть точеной спичкой/зубочисткой промоченной в бензине с изопропиловым спиртом. На "подопытной" нанке довольно часто такое приходится проделывать.
С контактами там все оки. Проверено под микроскопом, но на всякий случай еще "искупал" в изопропаноле, высушил. Ничего не поменялось. Стал играться с лок и фьюз битами. В программе AVRDUDESS решил посмотреть, какие биты у меня выставлены. Были вот такие: В интернете нашел статейку, что в нанке должны быть вот такие по умолчанию: Выставил, записал в AVRDUDESS После этого решил попробовать записать в среде IDE через программатор USBASP загрузчик. И тут Хобана, а он не записывается. Что я только не пробовал... В итоге замкнул джампер JP3 на прогере (это типа медленная загрузка), и только после этого загрузчик прописался. И самое интересное, нанка ожила, на нее стал заливаться скетч, как положено через среду IDE без всяких сторонних программаторов. Решил ради прикола снова считать фьюзы с помощью AVRDUDESS, и вот такие там сейчас: И самое интересное теперь то, что раньше (когда нанка работала год назад) скетчи заливались только с галочкой Atmega 328P (Old bootloader), а сейчас наоборот просто Atmega 328P Вроде все работает, скетчи заливаются, как положено, но вот монитор порта при запуске работает исправно, но если закрыть монитор порта, а потом снова его открыть, то уже связи с монитором порта почему-то нет, только если снова перетыкнуть нанку. ---------- А не могли бы Вы ваши фьюзы считать в проге AVRDUDESS? Очень интересно, какие у Вас фьюзы при исправной нанке стоят.
Цитата:
И самое интересное теперь то, что раньше (когда нанка работала год назад) скетчи заливались только с галочкой Atmega 328P (Old bootloader), а сейчас наоборот просто Atmega 328P
- с этим разобрался. Оказывается при записи загрузчика, перед записью можно выбрать, с каким бутлодером будет потом работать нанка. Если Old bootloader выбрать, то он сразу идет со стандартным blink. А вот сфьюзами еще не разобрался...
У меня под old bootloader те же фузы, что и на Вашей последней вкладке: LOCK биты = 0xCF LFUSE = 0xFF HFUSE = 0xDA EFUSE=0xFD Собственно то у Вас и была неисправность вида "мусор в бутлоадере"... Фузы выставляет IDE в соответствии с выбранным вариантом и настройками используемой платформы. А вот загрузка их уже чуток похитрее- нужно сперва на стороннем софте выполнить общее стирание меги - фузы выставятся "по умолчанию". Затем соединяем выбранное заранее железо программатора с нанкой по ISP, а железо программатора с компом по USB Запускаем IDE - и выбираем платформу и все ее настройки, выбираем тот порт, к которому программатор подсоединен выставляем программатор в строке "инструменты > программатор" далее выполнить "инструменты > записать загрузчик" в результате в мегу будут записаны фузы и бутлоадер затем закрыть IDE, отключить и разобрать программатор и нанку заново подсоединить нанку к ПК уже по USB, открыть IDE и далее работать с нанкой в обычном режиме. Есть у IDE и еще один режим - вкладка "скетч - загрузить через программатор" собственно для железа это то же самое, что и выше описано... Только фузы в этом режиме не выставляются. Это вариант использования загрузки скотча без бутлоадера. УФФ... вроде как все "по косточкам" расписал...
Запускаем IDE - и выбираем платформу и все ее настройки, выбираем тот порт, к которому программатор подсоединен
В режиме, когда программатор подключен к IDE варианта с выбором COM-порта нет. Есть только выбор самого программатора. Ну в моем случае USBasp. С фьюзами разобрался. Спасибо большое за подробный ответ Но вот с монитором порта все -таки какой-то косячок непонятный происходит. А так все записывает как положено
Там зависит от того, какое "железо" программатора подключается. К примеру мой arduinoISP на основе нанки обычным СОМ портом (как и наука) определяется. Насчет монитора порта... Как то не пробовал при открытой IDE делать выключение с последующим включением. Обычно включил и до конца работы висит...
Решил сделать билборд типа бегущая строка на Ардуино. А поскольку висеть ему на улице - захотелось читать нутряной термо-сенсор 328го штатными средствами ИДЕ. Подредактировал файл ядра wiring-analog.c. Доступ штатным analogRead(8) получил. Но захотелось обозвать его аналогично другим аналоговым входам А0-А7 как А8. Догадываюсь что где-то есть тн маппинг-записи (картировка пинов) - привязки имен к регистрам. Вопрос - где это находится ? Версия ИДЕ - 1.8.13. С уважением.
Последний раз редактировалось Ariadna-on-Line Пт мар 14, 2025 21:23:37, всего редактировалось 1 раз.
Заголовок сообщения: Re: Arduino IDE в вопросах и ответах
Добавлено: Пт мар 14, 2025 18:35:20
Друг Кота
Карма: 67
Рейтинг сообщений: 1066
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 19953 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:3 Медали: 1
Помнится, встроенные термодатчики показывают погоду на Марсе.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Хех. Не бывает плохих сенсоров - бывает плохая математика. Лишь бы сигнал с сенсора менялся стабильно. Да и не нужны здесь точности. Знать температуру кристалла плюс-минус 10 градусов - вполне достаточно. ПС. Я по работе всю жизнь сенсорами занимался. Главное - до него добраться.
Последний раз редактировалось Ariadna-on-Line Пт мар 14, 2025 19:25:57, всего редактировалось 1 раз.
Датчик будет давать температуру работающего кристалла. Соответствие внешней - явно не всегда полное будет (по сравнению с автономным датчиком). В остальном - мало чем от обработки обычного аналогового входа отличается...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения