Что будет если выполнить pinMode(0, OUTPUT); pinMode(1, OUTPUT);?

переставь порт, удалить и обновить список устройств

Ты что-то там куришь, по-моему.
В новой Ардуино ИДЕ (версий 2.х) нельзя использовать UPLOADING при открытом мониторе порта, настройки порта слетают и потом лечатся только перезапуском.

Нет никакого “пина, отведенного для ввода”, пока ты не запустил Serial в программе. А если у тебя весь код только

то использование пинов 0 и 1 допустимо и ничего не испортит - это вообще абсолютно легальный код, который встречается даже в примерах Ардуино.

Нет никакого “пина, отведенного для ввода”,

Как так? я считал что pin0 - это RX для связи процессора с микросхемой CH340 и через него компутер даёт команду на залив скетча, в частности. То есть например, пишем скетч
void setup(){
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
}
заливаем, он запускается. Но ардуинка то подключена к компу, следовательно, обмен данными с компом идёт и pin0 микросхема CH340 использует!
Разве мои рассуждения не верны?

то использование пинов 0 и 1 допустимо и ничего не испортит - это вообще абсолютно легальный код, который встречается даже в примерах Ардуино.

т.е. если код будет такой

void setup(){
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
Serial.begin(57600);
}

то всё сгорит?)

нет, я конечно не делаю этого одновременно.
проблема 1 и 2 - они не зависимые.
То есть допустим ардуинка подключена к компу, скетч, который раз в секунду мигает светодиодом и пишет пару байтов в Serial - успешно работает. Я запускаю IDE, открываю монитор порта - а там тишина. Хотя если закрыть IDE и запустить сторонню программу AdvancedSerialPortMonitor - она успешно показывает входящие байты.
тоже самое по проблеме 2 - открываем IDE , никаких мониторов не открываем, заливаем скетч, скетч успешно заливается - однако в IDE остаётся висеть надпись UPLOADING и кнопка UPLOAD неактивна. Можно редактировать скетч, но залить снова его не получится, пока не закроешь IDE и не откроешь её заново.
Тот факт, что я не “курю что-то” в данной ситуации подтверждается тем, что я не первый, кто с такой проблемой столкнулся. вот в часности здесь, ide - Arduino Uno 3: Stuck at 'uploading...' sketches - Arduino Stack Exchange человеку посоветовали в качестве костыля убивать процесс avrdude, если IDE засела на стадии UPLOADING

командами

Killing all avrdude process, remove the problem.

sudo killall avrdude

or with new IDEs:

sudo killall avrdude_bin

но я пока не понял, как аналогичное провернуть под виндой. пробовал снимать какие то процессы через диспетчер задач, но вот прям процесса с названием у avrdude меня при заливке скетча не наблюдается

Короче, ардуинку ты, похоже, подпалил, покупай новую для экспериментов, а эту - или залей один раз что-то нужное и пусть работает, или на стенку повесь ))

1 лайк

Это наша проблема?

Ну почем сразу “сгорит”?
Все нормальные устройства по мере возможности стараются сделать с защитой от дурака.
Т. е. и не сгорит, и работать нормально не будет. Хотя, бывает по-всякому.

А вот это - откровенный глюк программы. Когда-нибудь пофиксят.

Не следует путать теплое с мягким.
Если и скетч написан без ошибок, и программы исправные, то такое поведение невозможно.
Значит, где-то есть ошибка. Но приведенных данных недостаточно, чтобы локализовать нахождение последней. Тем более, что результат “все работает” также не говорит о том, что все работает правильно.

В чем у тебя непонятки то?
Складывается впечатление, что до тебя не доходит простая вещь: каждый пин МК может использоваться для нескольких различных функций, но только НЕ ОДНОВРЕМЕННО.

на ESP32 я такого не наблюдаю (IDE 2.3.2 )

А я и на avr не наблюдаю. версия 2.2.1

так мы с вами в разных весовых категориях, у меня если что-то имеет хотя бы малейшую теоретическую возможность не заработать, обязательно не заработает. мне бы тестировщиком работу кто предложил )))

Я хочу убедиться, что я верно считаю, что вот такой скетч

void setup(){
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
Serial.begin(57600);
}

не сломает плату ардуино навсегда.
То есть те проблемы, что у меня возникли с IDE - это чисто проблема IDE, которую просто надо переустановить с нуля.

возьми portable 1.8.19, её устанавливать не надо

не сломает

Сплошь и рядом новички по ошибке вешают разные датчики и реле на пины 0 и 1. У них в итоге ничего не работает. но за 7 лет занятий ардуиной я не помню ни одного случая, чтобы у кого-то что-либо сгорело от этого.

а вот это совсем не факт.
Ты мог сжечь плату чем-то другим… или случайно снести бутлоадер… или оторвать пайку… или еще чего
Я бы даже рискнул поставить 50р за то, что переустановка ИДЕ не поможет.


Смотрим на первую попавшеюся схему и вниз и успокаиваемся.

2 лайка

не, ну я тут писал выше, что у меня две платы , и проблема наблюдается с обеими.

в общем я сейчас поставил IDE portable 1.8.19 - уже лучше, сериал порт монитор, встроенный в неё - работает!
Скетч грузится, но после загрузки скетча выдаёт ошибку такую:

Произошла ошибка при загрузке скетча
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x99
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x40
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x4f
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x99
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x40
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x4f
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x99
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x40
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x4f
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x99

но скетч в плату грузится и вполне себе в ней работает! и главное - несмотря на эту ошибку, кнопка “Загрузить” не дизаблится, то есть не надо перезагружать IDE чтоб снова залить скетч. так что уже лучше =)
Уже можно пользоваться! остановлюсь пока что на
IDE portable 1.8.19

Так, и эту ошибку удалось победить в IDE portable 1.8.19.
Теперь всё работает без ошибок.

браво!
Давно надо было что-то подобное запостить :slight_smile:

куда выслать 50 руб?

главное чтобы ещё BSP (аддон) установился, программировать то ведь я собираюсь в основном LGT8F328P

Я тоже так читаю, но при этом:

  1. Никаких гарантий давать не буду. Это исключительно мое мнение и не более.
  2. Я никогда такое не допущу в коде, т.к. это не может работать правильно.

Не все проблемы решаются путем переустановки. Нередко приходится дожидаться выхода очередной версии. Иногда - не одной.